import { DeepPartial, Initializer } from "@azure-tools/codegen";
/**
 * The security information for the API surface
 */
export interface Security {
    /**
     * indicates that the API surface requires authentication
     */
    authenticationRequired: boolean;
    /**
     * @items {"type": "SecuritySchemeFull"}
     */
    schemes: SecurityScheme[];
}
export declare class Security extends Initializer implements Security {
    authenticationRequired: boolean;
    constructor(authenticationRequired: boolean, objectInitializer?: DeepPartial<Security>);
}
export interface SecurityScheme {
    type: string;
}
export interface OAuth2SecurityScheme extends SecurityScheme {
    type: "OAuth2";
    scopes: string[];
}
export declare class OAuth2SecurityScheme implements OAuth2SecurityScheme {
    constructor(objectInitializer?: DeepPartial<OAuth2SecurityScheme>);
}
export interface KeySecurityScheme extends SecurityScheme {
    type: "Key";
    in: "header";
    name: string;
}
export declare class KeySecurityScheme implements KeySecurityScheme {
    constructor(objectInitializer?: DeepPartial<KeySecurityScheme>);
}
//# sourceMappingURL=security.d.ts.map