import type { DatasetCore } from '@rdfjs/types';
import type { Constructor } from '@tpluscode/rdfine';
import type { ApiDocumentation } from '@rdfine/hydra';
import type { HydraResponse } from 'alcaeus-core';
declare module '@rdfine/hydra' {
    interface ApiDocumentation<D extends DatasetCore = DatasetCore> {
        loadEntrypoint(): Promise<HydraResponse<D>>;
    }
}
export type { ApiDocumentation } from '@rdfine/hydra';
export declare function ApiDocumentationMixin<TBase extends Constructor<Omit<ApiDocumentation, 'loadEntrypoint'>>>(Base: TBase): {
    new (...input: any[]): {
        loadEntrypoint(): Promise<HydraResponse<any>>;
        readonly apiDocumentation: ApiDocumentation | undefined;
        collection: import("@rdfine/hydra").Collection<import("@rdfine/hydra").Resource<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>>, DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>>[];
        description: string | undefined;
        entrypoint: import("@rdfine/hydra").Resource<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>> | undefined;
        extension: import("@rdfjs/types").Term | undefined;
        first: import("@rdfine/hydra").Resource<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>> | undefined;
        freetextQuery: string | undefined;
        last: import("@rdfine/hydra").Resource<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>> | undefined;
        next: import("@rdfine/hydra").Resource<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>> | undefined;
        operation: import("@rdfine/hydra").Operation<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>>[];
        possibleStatus: import("@rdfine/hydra").Status<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>>[];
        previous: import("@rdfine/hydra").Resource<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>> | undefined;
        search: import("@rdfine/hydra").IriTemplate<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>> | undefined;
        supportedClass: (import("@rdfine/hydra").Class<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>> | import("@rdfine/rdfs").Class<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>>)[];
        title: string | undefined;
        view: import("@rdfine/hydra").Resource<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>>[];
        readonly operations: import("../Operation.js").RuntimeOperation[];
        getProperties: (options?: import("../CoreMixins/HydraResource.js").GetProperties) => {
            supportedProperty: import("@rdfine/hydra").SupportedProperty;
            objects: any[];
        }[];
        getLinks: (includeMissing?: boolean) => {
            supportedProperty: import("@rdfine/hydra").SupportedProperty;
            resources: import("@tpluscode/rdfine").RdfResource<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>>[];
        }[];
        getCollections: (filter?: import("./MemberAssertion.js").MemberAssertionPattern) => import("@tpluscode/rdfine").RdfResource<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>>[];
        getOperationsDeep: (condition?: import("../CoreMixins/OperationFinder.js").RecursiveStopConditions) => import("../Operation.js").RuntimeOperation[];
        findOperations: (...criteria: import("../CoreMixins/OperationFinder.js").Criteria[]) => import("../Operation.js").RuntimeOperation[];
        findOperationsDeep: (stopCondition: import("../CoreMixins/OperationFinder.js").RecursiveStopConditions, ...moreCriteria: import("../CoreMixins/OperationFinder.js").Criteria[]) => import("../Operation.js").RuntimeOperation[];
        load?: (<T extends import("@tpluscode/rdfine").RdfResource<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>>>(headers?: HeadersInit) => Promise<HydraResponse<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>, T>>) | undefined;
        readonly env: import("@tpluscode/rdfine/environment").RdfineEnvironment;
        readonly id: import("@tpluscode/rdfine").ResourceIdentifier;
        readonly types: import("@tpluscode/rdfine/lib/TypeCollection").TypeCollection<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>>;
        readonly pointer: import("clownface").GraphPointer<import("@tpluscode/rdfine").ResourceIdentifier, DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>>;
        readonly unionGraphPointer: import("clownface").MultiPointer<import("@tpluscode/rdfine").ResourceIdentifier, DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>>;
        readonly _graphId: import("@rdfjs/types").Quad_Graph;
        readonly _parent?: import("@tpluscode/rdfine").RdfResource<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>> | undefined;
        readonly isAnonymous: boolean;
        equals: (other: import("@tpluscode/rdfine").RdfResource | import("@tpluscode/rdfine").ResourceIdentifier | import("clownface").GraphPointer | undefined | null) => boolean;
        hasType: (type: string | import("@rdfjs/types").NamedNode) => boolean;
        get: {
            <T extends import("@tpluscode/rdfine").RdfResource<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>> = import("@tpluscode/rdfine").RdfResource<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>>>(property: string | import("@rdfjs/types").NamedNode): T;
            <T extends import("@tpluscode/rdfine").RdfResource<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>> = import("@tpluscode/rdfine").RdfResource<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>>>(property: string | import("@rdfjs/types").NamedNode, options?: import("@tpluscode/rdfine/RdfResource").GetOptions): T | null;
        };
        getArray: <T extends import("@tpluscode/rdfine").RdfResource<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>> = import("@tpluscode/rdfine").RdfResource<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>>>(property: string | import("@rdfjs/types").NamedNode, options?: import("@tpluscode/rdfine/RdfResource").GetOptions) => T[];
        getBoolean: (property: string | import("@rdfjs/types").NamedNode, options?: import("@tpluscode/rdfine/RdfResource").GetOptions) => boolean;
        getString: {
            (property: string | import("@rdfjs/types").NamedNode): string;
            (property: string | import("@rdfjs/types").NamedNode, options?: import("@tpluscode/rdfine/RdfResource").GetOptions): string | null;
        };
        getNumber: {
            (property: string | import("@rdfjs/types").NamedNode): number | null;
            (property: string | import("@rdfjs/types").NamedNode, options?: import("@tpluscode/rdfine/RdfResource").GetOptions): number | null;
        };
        toJSON: <T extends import("@tpluscode/rdfine/RdfResource").RdfResourceCore = ApiDocumentation<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>>>() => import("@tpluscode/rdfine/lib/toJSON").Jsonified<import("@tpluscode/rdfine").RdfResource<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>> & T>;
        _getObjects: (property: string | import("@rdfjs/types").NamedNode, options?: import("@tpluscode/rdfine/RdfResource").GetOptions) => import("clownface").MultiPointer<import("@rdfjs/types").Term, DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>>;
        _create: <T extends import("@tpluscode/rdfine/RdfResource").RdfResourceCore<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>>>(term: import("clownface").GraphPointer<import("@rdfjs/types").Term, DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>>, mixins?: import("@tpluscode/rdfine/lib/ResourceFactory").Mixin[] | [Constructor, ...import("@tpluscode/rdfine/lib/ResourceFactory").Mixin[]], options?: import("@tpluscode/rdfine/lib/ResourceFactory").ResourceCreationOptions<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>, T> | undefined) => T & import("@tpluscode/rdfine").ResourceIndexer<import("@tpluscode/rdfine").RdfResource<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>>>;
        comment: string | undefined;
        isDefinedBy: import("@rdfine/rdfs").Resource<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>> | undefined;
        label: string | undefined;
        seeAlso: import("@rdfine/rdfs").Resource<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>>[];
    };
    __mixins: import("@tpluscode/rdfine/lib/ResourceFactory").Mixin[];
    __properties: Map<string, import("@tpluscode/rdfine/lib/decorators/property/decoratorFactory").PropertyMeta>;
    __initializers: Map<string, unknown>;
    __ns?: import("@rdfjs/namespace").NamespaceBuilder;
} & TBase;
export declare namespace ApiDocumentationMixin {
    var appliesTo: import("@rdfjs/types").NamedNode<string> & import("@rdfjs/types").NamedNode<"http://www.w3.org/ns/hydra/core#ApiDocumentation">;
}
//# sourceMappingURL=ApiDocumentation.d.ts.map