import { CommandComponents } from './command-operation';
import { Extensions } from './extensions';
import { HttpComponents } from './http-operation';
import { Info } from './info';
import { Schema } from './schema';
import { Dictionary } from '@azure-tools/linq';
import { ExternalDocumentation, ImplementationDetails, LanguageDetails, SecurityRequirement, Server, Tag } from './components';
import { DeepPartial } from '@azure-tools/codegen';
export interface Model extends Extensions {
    schemas: Dictionary<Schema>;
    details: LanguageDetails<ClientDetails>;
    info: Info;
    externalDocs?: ExternalDocumentation;
    servers: Array<Server>;
    security: Array<SecurityRequirement>;
    tags: Array<Tag>;
    http: HttpComponents;
    commands: CommandComponents;
}
export declare class Model extends Extensions implements Model {
    schemas: Dictionary<Schema>;
    details: LanguageDetails<ClientDetails>;
    info: Info;
    servers: Server[];
    security: SecurityRequirement[];
    tags: Tag[];
    http: HttpComponents;
    commands: CommandComponents;
    constructor(title: string, version: string, initializer?: DeepPartial<Model>);
}
export interface ClientDetails extends ImplementationDetails {
}
//# sourceMappingURL=code-model.d.ts.map