import type { SkillDefinition } from '../skillEngine/types';
import { type ProcessIdentityResolution, type ProcessIdentityTarget, type SkillIdentityConfig } from './types';
export interface IdentityGateInput {
    traceId: string;
    skill: SkillDefinition;
    params: Record<string, any>;
    inherited?: Record<string, any>;
    resolve: (target: ProcessIdentityTarget) => Promise<ProcessIdentityResolution>;
}
export interface IdentityGateResult {
    allowed: boolean;
    params: Record<string, any>;
    inherited: Record<string, any>;
    config: SkillIdentityConfig;
    target?: ProcessIdentityTarget;
    resolution?: ProcessIdentityResolution;
    error?: string;
}
export declare function sqlUsesProcessNameFilter(sql: string): boolean;
export declare function collectSkillSql(skill: SkillDefinition): string;
export declare function skillUsesProcessNameFilter(skill: SkillDefinition): boolean;
export declare function getEffectiveIdentityConfig(skill: SkillDefinition): SkillIdentityConfig;
export declare function extractProcessIdentityTarget(params: Record<string, any>, inherited: Record<string, any>, config: SkillIdentityConfig): ProcessIdentityTarget;
export declare class IdentityGate {
    apply(input: IdentityGateInput): Promise<IdentityGateResult>;
}
//# sourceMappingURL=identityGate.d.ts.map