import { Initializer } from '#common/initializer';
import { Expression, ExpressionOrLiteral } from '#csharp/code-dom/expression';
import { ParameterModifier } from '#csharp/code-dom/parameter-modifier';
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 method parameter */
export declare class Parameter extends Initializer implements Variable {
    name: string;
    type: TypeDeclaration;
    description: string;
    genericParameters: string[];
    where?: string;
    modifier: ParameterModifier;
    defaultInitializer?: string;
    attributes: Attribute[];
    protected readonly attributeDeclaration: string;
    constructor(name: string, type: TypeDeclaration, objectInitializer?: Partial<Parameter>);
    readonly comment: string;
    readonly declaration: string;
    readonly use: string;
    readonly value: string;
    toString(): string;
    assign(expression: ExpressionOrLiteral): OneOrMoreStatements;
    assignPrivate(expression: ExpressionOrLiteral): OneOrMoreStatements;
    readonly declarationExpression: Expression;
    readonly declarationStatement: Statement;
}
//# sourceMappingURL=parameter.d.ts.map