import { EvaluationResult, SimulationMode } from '@cloud-copilot/iam-simulate';
import { IamCollectClient } from '../collect/client.js';
import { ContextKeys } from './contextKeys.js';
export interface SimulationRequest {
    resourceArn: string | undefined;
    resourceAccount: string | undefined;
    action: string;
    principal: string;
    customContextKeys: ContextKeys;
    simulationMode: SimulationMode;
}
export declare function simulateRequest(simulationRequest: SimulationRequest, collectClient: IamCollectClient): Promise<{
    request: {
        principal: string;
        action: string;
        resource: {
            resource: string;
            accountId: string;
        };
        contextVariables: Record<string, string | string[]>;
    };
    result: import("@cloud-copilot/iam-simulate").SimulationResult;
}>;
export declare function resultMatchesExpectation(expected: EvaluationResult | 'AnyDeny' | undefined, result: EvaluationResult): boolean;
//# sourceMappingURL=simulate.d.ts.map