import { type ActorMethod, type ActorSubclass } from '@dfinity/agent';
import type { IDL } from '@dfinity/candid';
import type { ActorKey } from '../types/actor';
import type { SatelliteContext } from '../types/satellite';
type ActorParams = {
    idlFactory: IDL.InterfaceFactory;
} & Required<Pick<SatelliteContext, 'satelliteId' | 'identity'>> & Pick<SatelliteContext, 'container'>;
type ActorRecord = Record<string, ActorMethod>;
export declare class ActorStore {
    #private;
    private static instance;
    private constructor();
    static getInstance(): ActorStore;
    getActor<T = ActorRecord>({ satelliteId, identity, actorKey, ...rest }: ActorParams & {
        actorKey: ActorKey;
    }): Promise<ActorSubclass<T>>;
    reset(): void;
    private createActor;
}
export {};
