export declare enum VersioningType {
    Uri = 0,
    Header = 1,
    Query = 2,
    Custom = 3
}
interface VersioningCommonOption {
    defaultVersion: string;
}
export interface VersioningUriOption extends VersioningCommonOption {
    type: VersioningType.Uri;
    prefix?: string;
}
export interface VersioningHeaderOption extends VersioningCommonOption {
    type: VersioningType.Header;
    header?: string;
}
export interface VersioningQueryOption extends VersioningCommonOption {
    type: VersioningType.Query;
    key?: string;
}
export interface VersioningCustomOption extends VersioningCommonOption {
    type: VersioningType.Custom;
    extractor: (requestOptions: unknown) => {
        type: VersioningType;
        result: string | Record<string, any>;
    };
}
export type VersioningOption = VersioningUriOption | VersioningHeaderOption | VersioningQueryOption | VersioningCustomOption;
export {};
