import { KnownMediaType } from '#common/media-types';
import { Expression, ExpressionOrLiteral, StringExpression } from '#csharp/code-dom/expression';
import { OneOrMoreStatements } from '#csharp/code-dom/statements/statement';
import { Variable } from '#csharp/code-dom/variable';
import { Primitive } from '#csharp/schema/primitive';
import { Schema } from '#csharp/lowlevel-generator/code-model';
export declare class DateTime extends Primitive {
    isRequired: boolean;
    isXmlAttribute: boolean;
    jsonType: import("#csharp/code-dom/mscorlib").LibraryType;
    DateTimeFormat: StringExpression;
    readonly declaration: string;
    protected castJsonTypeToPrimitive(tmpValue: string, defaultValue: string): string;
    protected castXmlTypeToPrimitive(tmpValue: string, defaultValue: string): string;
    serializeToNode(mediaType: KnownMediaType, value: ExpressionOrLiteral, serializedName: string): Expression;
    serializeToContainerMember(mediaType: KnownMediaType, value: ExpressionOrLiteral, container: Variable, serializedName: string): OneOrMoreStatements;
    constructor(schema: Schema, isRequired: boolean);
    validateValue(property: Variable): string;
}
export declare class DateTime1123 extends DateTime {
    DateTimeFormat: StringExpression;
    constructor(schema: Schema, isRequired: boolean);
}
export declare class UnixTime extends Primitive {
    isRequired: boolean;
    isXmlAttribute: boolean;
    jsonType: import("#csharp/code-dom/mscorlib").LibraryType;
    private EpochDate;
    protected castJsonTypeToPrimitive(tmpValue: string, defaultValue: string): string;
    protected castXmlTypeToPrimitive(tmpValue: string, defaultValue: string): string;
    /** emits an expression serialize this to the value required by the container */
    serializeToNode(mediaType: KnownMediaType, value: ExpressionOrLiteral, serializedName: string): Expression;
    /** emits the code required to serialize this into a container */
    serializeToContainerMember(mediaType: KnownMediaType, value: ExpressionOrLiteral, container: Variable, serializedName: string): OneOrMoreStatements;
    constructor(schema: Schema, isRequired: boolean);
    validateValue(property: Variable): string;
    readonly declaration: string;
}
//# sourceMappingURL=date-time.d.ts.map