import { access, ontology, Synnax } from '@synnaxlabs/client';
import { flux } from '../../../flux/aether';
import { Ontology } from '../../../ontology';
export declare const FLUX_STORE_KEY = "policies";
export interface FluxStore extends flux.UnaryStore<access.policy.Key, access.policy.Policy> {
}
export interface FluxSubStore extends Ontology.FluxSubStore {
    [FLUX_STORE_KEY]: FluxStore;
}
export declare const FLUX_STORE_CONFIG: flux.UnaryStoreConfig<FluxSubStore, access.policy.Key, access.policy.Policy>;
export declare const cachedRetrieveForSubject: (store: FluxSubStore, subject: ontology.ID) => access.policy.Policy[];
export interface RetrieveForSubjectParams {
    subject: ontology.ID;
    client: Synnax;
    store: FluxSubStore;
}
export declare const retrieveForSubject: ({ client, store, subject, }: RetrieveForSubjectParams) => Promise<access.policy.Policy[]>;
//# sourceMappingURL=queries.d.ts.map