import { Policy, PolicyStatement } from '../models';
import { StatementBuilder } from './statement-builder';
export declare class PolicyBuilder {
    private policyId;
    private documentVersion;
    private policyStatements;
    private hasSimpleStatement;
    private simpleStatementBuilder?;
    constructor(id: string);
    version(version: string): this;
    allow(actions: string[]): this;
    deny(actions: string[]): this;
    on(resources: string[]): this;
    when(conditions: Record<string, any>): this;
    activeFrom(startDate: string): this;
    activeUntil(endDate: string): this;
    statement(statementBuilder: StatementBuilder | PolicyStatement): this;
    addStatements(statements: (StatementBuilder | PolicyStatement)[]): this;
    private ensureSimpleStatementMode;
    private validate;
    private getAllStatements;
    build(): Policy;
    static create(id: string): PolicyBuilder;
}
//# sourceMappingURL=policy-builder.d.ts.map