forked from HydraCG/Heracles.ts
/
IApiDocumentation.ts
45 lines (40 loc) · 1.09 KB
/
IApiDocumentation.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import ResourceFilterableCollection from "./Collections/ResourceFilterableCollection";
import { IClass } from "./IClass";
import { IHydraResource } from "./IHydraResource";
import { IHypermediaContainer } from "./IHypermediaContainer";
/**
* Represents an abstract API documentation.
* @interface
*/
export interface IApiDocumentation extends IHydraResource {
/**
* Gets a title of this API documentation.
* @readonly
* @returns {string}
*/
readonly title: string;
/**
* Gets a description of this API documentation.
* @readonly
* @returns {string}
*/
readonly description?: string;
/**
* Gets the supported classes by this API.
* @readonly
* @returns {TypedResourceFilterableCollection<IClass>}
*/
readonly supportedClasses: ResourceFilterableCollection<IClass>;
/**
* Gets the Url of the entry point of the API.
* @readonly
* @returns {string}
*/
readonly entryPoint: string;
/**
* Retrieves an API's entry point resource.
* @readonly
* @returns {Promise<IHypermediaContainer>}
*/
getEntryPoint(): Promise<IHypermediaContainer>;
}