import { Initializer } from '#common/initializer';
import { Access, New, ReadOnly, Static, Volitile } from '#csharp/code-dom/access-modifier';
import { Expression, ExpressionOrLiteral } from '#csharp/code-dom/expression';
import { OneOrMoreStatements, Statement } from '#csharp/code-dom/statements/statement';
import { Variable } from '#csharp/code-dom/variable';
import { TypeDeclaration } from './type-declaration';
import { Attribute } from '#csharp/code-dom/attribute';
/** represents a field in a Class */
export declare class Field extends Initializer implements Variable {
    name: string;
    type: TypeDeclaration;
    'new': New;
    access: Access;
    'static': Static;
    'readonly': ReadOnly;
    volitile: Volitile;
    attributes: Attribute[];
    protected readonly attributeDeclaration: string;
    description: string;
    constructor(name: string, type: TypeDeclaration, objectInitializer?: Partial<Field>);
    readonly declaration: string;
    readonly value: string;
    toString(): string;
    assign(expression: ExpressionOrLiteral): OneOrMoreStatements;
    assignPrivate(expression: ExpressionOrLiteral): OneOrMoreStatements;
    readonly declarationExpression: Expression;
    readonly declarationStatement: Statement;
}
export declare class InitializedField extends Field {
    valueExpression: ExpressionOrLiteral;
    constructor(name: string, type: TypeDeclaration, valueExpression: ExpressionOrLiteral, objectInitializer?: Partial<InitializedField>);
    readonly declaration: string;
}
//# sourceMappingURL=field.d.ts.map