import "./go.js";
import type { CheckResourcesResponse, Config, PlanResourcesResponse } from "@cerbos/api/cerbos/cloud/epdp/v2/epdp_pb";
import type { AuxDataValid } from "@cerbos/api/cerbos/engine/v1/engine_pb";
import type { CheckResourcesRequestValid, PlanResourcesRequestValid } from "@cerbos/api/cerbos/request/v1/request_pb";
export type Instantiate = (imports: WebAssembly.Imports) => Promise<WebAssembly.Instance | WebAssembly.WebAssemblyInstantiatedSource>;
export declare class Server {
    private readonly instance;
    private exited?;
    static from(instantiate: Instantiate, config: Config | undefined): Promise<Server>;
    private constructor();
    loadRuleTable(ruleTable: Uint8Array): void;
    checkResources(request: CheckResourcesRequestValid, auxData: AuxDataValid | undefined): CheckResourcesResponse;
    planResources(request: PlanResourcesRequestValid, auxData: AuxDataValid | undefined): PlanResourcesResponse;
    private configure;
    private decode;
    private encode;
    private write;
    private slice;
    private get exports();
    private free;
}
//# sourceMappingURL=server.d.ts.map