import type { RuntimeCallOptions, RuntimeAuthClient, RuntimeAppAuthClient, RuntimeTransportConfig } from './types.js';
type ProtectedRuntime = {
    appId: string;
    transport?: RuntimeTransportConfig;
    auth: Pick<RuntimeAuthClient, 'registerApp'>;
    appAuth: Pick<RuntimeAppAuthClient, 'authorizeExternalPrincipal'>;
};
type CreateRuntimeProtectedScopeHelperInput = {
    runtime: ProtectedRuntime;
    getSubjectUserId: () => string | Promise<string>;
    now?: () => Date;
};
export declare function createRuntimeProtectedScopeHelper(input: CreateRuntimeProtectedScopeHelperInput): {
    getCallOptions(scopes: readonly string[], baseOptions?: RuntimeCallOptions): Promise<RuntimeCallOptions>;
    invalidate(scopes: readonly string[]): void;
    withScopes<T>(scopes: readonly string[], operation: (options: RuntimeCallOptions) => Promise<T>, baseOptions?: RuntimeCallOptions): Promise<T>;
};
export {};
//# sourceMappingURL=protected-access.d.ts.map