import * as pb_1 from "google-protobuf";
export declare class Index extends pb_1.Message {
    #private;
    constructor(data?: any[] | {
        name?: string;
        query_scope?: IndexQueryScope;
        api_scope?: IndexApiScope;
        fields?: IndexIndexField[];
        state?: IndexState;
    });
    get name(): string;
    set name(value: string);
    get query_scope(): IndexQueryScope;
    set query_scope(value: IndexQueryScope);
    get api_scope(): IndexApiScope;
    set api_scope(value: IndexApiScope);
    get fields(): IndexIndexField[];
    set fields(value: IndexIndexField[]);
    get state(): IndexState;
    set state(value: IndexState);
    static fromObject(data: {
        name?: string;
        query_scope?: IndexQueryScope;
        api_scope?: IndexApiScope;
        fields?: ReturnType<typeof IndexIndexField.prototype.toObject>[];
        state?: IndexState;
    }): Index;
    toObject(): {
        name?: string;
        query_scope?: IndexQueryScope;
        api_scope?: IndexApiScope;
        fields?: ReturnType<typeof IndexIndexField.prototype.toObject>[];
        state?: IndexState;
    };
    serialize(): Uint8Array;
    serialize(w: pb_1.BinaryWriter): void;
    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): Index;
    serializeBinary(): Uint8Array;
    static deserializeBinary(bytes: Uint8Array): Index;
}
export declare enum IndexQueryScope {
    QUERY_SCOPE_UNSPECIFIED = 0,
    COLLECTION = 1,
    COLLECTION_GROUP = 2,
    COLLECTION_RECURSIVE = 3
}
export declare enum IndexApiScope {
    ANY_API = 0,
    DATASTORE_MODE_API = 1
}
export declare enum IndexState {
    STATE_UNSPECIFIED = 0,
    CREATING = 1,
    READY = 2,
    NEEDS_REPAIR = 3
}
export declare class IndexIndexField extends pb_1.Message {
    #private;
    constructor(data?: any[] | ({
        field_path?: string;
    } & (({
        order?: IndexIndexFieldOrder;
        array_config?: never;
        vector_config?: never;
    } | {
        order?: never;
        array_config?: IndexIndexFieldArrayConfig;
        vector_config?: never;
    } | {
        order?: never;
        array_config?: never;
        vector_config?: IndexIndexFieldVectorConfig;
    }))));
    get field_path(): string;
    set field_path(value: string);
    get order(): IndexIndexFieldOrder;
    set order(value: IndexIndexFieldOrder);
    get has_order(): boolean;
    get array_config(): IndexIndexFieldArrayConfig;
    set array_config(value: IndexIndexFieldArrayConfig);
    get has_array_config(): boolean;
    get vector_config(): IndexIndexFieldVectorConfig;
    set vector_config(value: IndexIndexFieldVectorConfig);
    get has_vector_config(): boolean;
    get value_mode(): "none" | "order" | "array_config" | "vector_config";
    static fromObject(data: {
        field_path?: string;
        order?: IndexIndexFieldOrder;
        array_config?: IndexIndexFieldArrayConfig;
        vector_config?: ReturnType<typeof IndexIndexFieldVectorConfig.prototype.toObject>;
    }): IndexIndexField;
    toObject(): {
        field_path?: string;
        order?: IndexIndexFieldOrder;
        array_config?: IndexIndexFieldArrayConfig;
        vector_config?: ReturnType<typeof IndexIndexFieldVectorConfig.prototype.toObject>;
    };
    serialize(): Uint8Array;
    serialize(w: pb_1.BinaryWriter): void;
    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): IndexIndexField;
    serializeBinary(): Uint8Array;
    static deserializeBinary(bytes: Uint8Array): IndexIndexField;
}
export declare enum IndexIndexFieldOrder {
    ORDER_UNSPECIFIED = 0,
    ASCENDING = 1,
    DESCENDING = 2
}
export declare enum IndexIndexFieldArrayConfig {
    ARRAY_CONFIG_UNSPECIFIED = 0,
    CONTAINS = 1
}
export declare class IndexIndexFieldVectorConfig extends pb_1.Message {
    #private;
    constructor(data?: any[] | ({
        dimension?: number;
    } & (({
        flat?: IndexIndexFieldVectorConfigFlatIndex;
    }))));
    get dimension(): number;
    set dimension(value: number);
    get flat(): IndexIndexFieldVectorConfigFlatIndex;
    set flat(value: IndexIndexFieldVectorConfigFlatIndex);
    get has_flat(): boolean;
    get type(): "flat" | "none";
    static fromObject(data: {
        dimension?: number;
        flat?: ReturnType<typeof IndexIndexFieldVectorConfigFlatIndex.prototype.toObject>;
    }): IndexIndexFieldVectorConfig;
    toObject(): {
        dimension?: number;
        flat?: ReturnType<typeof IndexIndexFieldVectorConfigFlatIndex.prototype.toObject>;
    };
    serialize(): Uint8Array;
    serialize(w: pb_1.BinaryWriter): void;
    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): IndexIndexFieldVectorConfig;
    serializeBinary(): Uint8Array;
    static deserializeBinary(bytes: Uint8Array): IndexIndexFieldVectorConfig;
}
export declare class IndexIndexFieldVectorConfigFlatIndex extends pb_1.Message {
    #private;
    constructor(data?: any[] | {});
    static fromObject(data: {}): IndexIndexFieldVectorConfigFlatIndex;
    toObject(): {};
    serialize(): Uint8Array;
    serialize(w: pb_1.BinaryWriter): void;
    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): IndexIndexFieldVectorConfigFlatIndex;
    serializeBinary(): Uint8Array;
    static deserializeBinary(bytes: Uint8Array): IndexIndexFieldVectorConfigFlatIndex;
}
//# sourceMappingURL=index.d.ts.map