import { Initializer } from '#common/initializer';
export declare type fIterable<T> = Iterable<T> | (() => Iterable<T>);
export interface Statement {
    implementation: string;
}
export declare type StatementOrLiteral = Statement | string;
export declare type OneOrMoreStatements = StatementOrLiteral | fIterable<StatementOrLiteral>;
export declare type OneOrMoreStatements2 = OneOrMoreStatements | fIterable<OneOrMoreStatements>;
export declare type OneOrMoreStatements3 = OneOrMoreStatements2 | fIterable<OneOrMoreStatements2>;
export declare type OneOrMoreStatements4 = OneOrMoreStatements3 | fIterable<OneOrMoreStatements3>;
export declare type OneOrMoreStatements5 = OneOrMoreStatements4 | fIterable<OneOrMoreStatements4>;
export declare type StatementPossibilities = OneOrMoreStatements5 | Statements;
export declare function toStatement(statement: StatementOrLiteral): Statement;
export declare function isStatement(object: StatementPossibilities): object is Statement;
export declare class Statements extends Initializer implements Statement {
    protected statements: Statement[];
    constructor(statements?: StatementPossibilities, objectIntializer?: Partial<Statements>);
    readonly count: number;
    insert(statements: StatementPossibilities): Statements;
    add(statements: StatementPossibilities): Statements;
    private appendStatements;
    readonly implementation: string;
}
//# sourceMappingURL=statement.d.ts.map