import { IApiBaseEntity } from '../../../../interface/api-base-entity.interface';
import { IApiAuthorizationPrincipal, IApiAuthorizationRequestMetadata, IApiAuthorizationResourceDefinition, IApiAuthorizationScope, IApiPolicyStatement } from '../../../../interface/class/api/authorization';
export declare class ApiAuthorizationIamQueryPlanner {
    plan<E extends IApiBaseEntity>(options: {
        principal: IApiAuthorizationPrincipal;
        requestMetadata: IApiAuthorizationRequestMetadata<E>;
        resource?: E;
        resourceDefinition: IApiAuthorizationResourceDefinition<E>;
        statements: ReadonlyArray<IApiPolicyStatement>;
    }): {
        isFullyCompilable: boolean;
        scope?: IApiAuthorizationScope<E>;
    };
    private assignWhereValue;
    private compileStatementWhere;
    private isComplexValue;
    private isRecord;
    private resolveConditionValue;
    private resolvePathValue;
}
