import * as dependency_3 from "./../../../protobuf/duration";
import * as dependency_4 from "./../../../protobuf/timestamp";
import * as pb_1 from "google-protobuf";
export declare class Database extends pb_1.Message {
    #private;
    constructor(data?: any[] | {
        name?: string;
        uid?: string;
        create_time?: dependency_4.Timestamp;
        update_time?: dependency_4.Timestamp;
        delete_time?: dependency_4.Timestamp;
        location_id?: string;
        type?: DatabaseDatabaseType;
        concurrency_mode?: DatabaseConcurrencyMode;
        version_retention_period?: dependency_3.Duration;
        earliest_version_time?: dependency_4.Timestamp;
        point_in_time_recovery_enablement?: DatabasePointInTimeRecoveryEnablement;
        app_engine_integration_mode?: DatabaseAppEngineIntegrationMode;
        key_prefix?: string;
        delete_protection_state?: DatabaseDeleteProtectionState;
        cmek_config?: DatabaseCmekConfig;
        previous_id?: string;
        source_info?: DatabaseSourceInfo;
        etag?: string;
    });
    get name(): string;
    set name(value: string);
    get uid(): string;
    set uid(value: string);
    get create_time(): dependency_4.Timestamp;
    set create_time(value: dependency_4.Timestamp);
    get has_create_time(): boolean;
    get update_time(): dependency_4.Timestamp;
    set update_time(value: dependency_4.Timestamp);
    get has_update_time(): boolean;
    get delete_time(): dependency_4.Timestamp;
    set delete_time(value: dependency_4.Timestamp);
    get has_delete_time(): boolean;
    get location_id(): string;
    set location_id(value: string);
    get type(): DatabaseDatabaseType;
    set type(value: DatabaseDatabaseType);
    get concurrency_mode(): DatabaseConcurrencyMode;
    set concurrency_mode(value: DatabaseConcurrencyMode);
    get version_retention_period(): dependency_3.Duration;
    set version_retention_period(value: dependency_3.Duration);
    get has_version_retention_period(): boolean;
    get earliest_version_time(): dependency_4.Timestamp;
    set earliest_version_time(value: dependency_4.Timestamp);
    get has_earliest_version_time(): boolean;
    get point_in_time_recovery_enablement(): DatabasePointInTimeRecoveryEnablement;
    set point_in_time_recovery_enablement(value: DatabasePointInTimeRecoveryEnablement);
    get app_engine_integration_mode(): DatabaseAppEngineIntegrationMode;
    set app_engine_integration_mode(value: DatabaseAppEngineIntegrationMode);
    get key_prefix(): string;
    set key_prefix(value: string);
    get delete_protection_state(): DatabaseDeleteProtectionState;
    set delete_protection_state(value: DatabaseDeleteProtectionState);
    get cmek_config(): DatabaseCmekConfig;
    set cmek_config(value: DatabaseCmekConfig);
    get has_cmek_config(): boolean;
    get previous_id(): string;
    set previous_id(value: string);
    get source_info(): DatabaseSourceInfo;
    set source_info(value: DatabaseSourceInfo);
    get has_source_info(): boolean;
    get etag(): string;
    set etag(value: string);
    static fromObject(data: {
        name?: string;
        uid?: string;
        create_time?: ReturnType<typeof dependency_4.Timestamp.prototype.toObject>;
        update_time?: ReturnType<typeof dependency_4.Timestamp.prototype.toObject>;
        delete_time?: ReturnType<typeof dependency_4.Timestamp.prototype.toObject>;
        location_id?: string;
        type?: DatabaseDatabaseType;
        concurrency_mode?: DatabaseConcurrencyMode;
        version_retention_period?: ReturnType<typeof dependency_3.Duration.prototype.toObject>;
        earliest_version_time?: ReturnType<typeof dependency_4.Timestamp.prototype.toObject>;
        point_in_time_recovery_enablement?: DatabasePointInTimeRecoveryEnablement;
        app_engine_integration_mode?: DatabaseAppEngineIntegrationMode;
        key_prefix?: string;
        delete_protection_state?: DatabaseDeleteProtectionState;
        cmek_config?: ReturnType<typeof DatabaseCmekConfig.prototype.toObject>;
        previous_id?: string;
        source_info?: ReturnType<typeof DatabaseSourceInfo.prototype.toObject>;
        etag?: string;
    }): Database;
    toObject(): {
        name?: string;
        uid?: string;
        create_time?: ReturnType<typeof dependency_4.Timestamp.prototype.toObject>;
        update_time?: ReturnType<typeof dependency_4.Timestamp.prototype.toObject>;
        delete_time?: ReturnType<typeof dependency_4.Timestamp.prototype.toObject>;
        location_id?: string;
        type?: DatabaseDatabaseType;
        concurrency_mode?: DatabaseConcurrencyMode;
        version_retention_period?: ReturnType<typeof dependency_3.Duration.prototype.toObject>;
        earliest_version_time?: ReturnType<typeof dependency_4.Timestamp.prototype.toObject>;
        point_in_time_recovery_enablement?: DatabasePointInTimeRecoveryEnablement;
        app_engine_integration_mode?: DatabaseAppEngineIntegrationMode;
        key_prefix?: string;
        delete_protection_state?: DatabaseDeleteProtectionState;
        cmek_config?: ReturnType<typeof DatabaseCmekConfig.prototype.toObject>;
        previous_id?: string;
        source_info?: ReturnType<typeof DatabaseSourceInfo.prototype.toObject>;
        etag?: string;
    };
    serialize(): Uint8Array;
    serialize(w: pb_1.BinaryWriter): void;
    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): Database;
    serializeBinary(): Uint8Array;
    static deserializeBinary(bytes: Uint8Array): Database;
}
export declare enum DatabaseDatabaseType {
    DATABASE_TYPE_UNSPECIFIED = 0,
    FIRESTORE_NATIVE = 1,
    DATASTORE_MODE = 2
}
export declare enum DatabaseConcurrencyMode {
    CONCURRENCY_MODE_UNSPECIFIED = 0,
    OPTIMISTIC = 1,
    PESSIMISTIC = 2,
    OPTIMISTIC_WITH_ENTITY_GROUPS = 3
}
export declare enum DatabasePointInTimeRecoveryEnablement {
    POINT_IN_TIME_RECOVERY_ENABLEMENT_UNSPECIFIED = 0,
    POINT_IN_TIME_RECOVERY_ENABLED = 1,
    POINT_IN_TIME_RECOVERY_DISABLED = 2
}
export declare enum DatabaseAppEngineIntegrationMode {
    APP_ENGINE_INTEGRATION_MODE_UNSPECIFIED = 0,
    ENABLED = 1,
    DISABLED = 2
}
export declare enum DatabaseDeleteProtectionState {
    DELETE_PROTECTION_STATE_UNSPECIFIED = 0,
    DELETE_PROTECTION_DISABLED = 1,
    DELETE_PROTECTION_ENABLED = 2
}
export declare class DatabaseCmekConfig extends pb_1.Message {
    #private;
    constructor(data?: any[] | {
        kms_key_name?: string;
        active_key_version?: string[];
    });
    get kms_key_name(): string;
    set kms_key_name(value: string);
    get active_key_version(): string[];
    set active_key_version(value: string[]);
    static fromObject(data: {
        kms_key_name?: string;
        active_key_version?: string[];
    }): DatabaseCmekConfig;
    toObject(): {
        kms_key_name?: string;
        active_key_version?: string[];
    };
    serialize(): Uint8Array;
    serialize(w: pb_1.BinaryWriter): void;
    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): DatabaseCmekConfig;
    serializeBinary(): Uint8Array;
    static deserializeBinary(bytes: Uint8Array): DatabaseCmekConfig;
}
export declare class DatabaseSourceInfo extends pb_1.Message {
    #private;
    constructor(data?: any[] | ({
        operation?: string;
    } & (({
        backup?: DatabaseSourceInfoBackupSource;
    }))));
    get backup(): DatabaseSourceInfoBackupSource;
    set backup(value: DatabaseSourceInfoBackupSource);
    get has_backup(): boolean;
    get operation(): string;
    set operation(value: string);
    get source(): "none" | "backup";
    static fromObject(data: {
        backup?: ReturnType<typeof DatabaseSourceInfoBackupSource.prototype.toObject>;
        operation?: string;
    }): DatabaseSourceInfo;
    toObject(): {
        backup?: ReturnType<typeof DatabaseSourceInfoBackupSource.prototype.toObject>;
        operation?: string;
    };
    serialize(): Uint8Array;
    serialize(w: pb_1.BinaryWriter): void;
    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): DatabaseSourceInfo;
    serializeBinary(): Uint8Array;
    static deserializeBinary(bytes: Uint8Array): DatabaseSourceInfo;
}
export declare class DatabaseSourceInfoBackupSource extends pb_1.Message {
    #private;
    constructor(data?: any[] | {
        backup?: string;
    });
    get backup(): string;
    set backup(value: string);
    static fromObject(data: {
        backup?: string;
    }): DatabaseSourceInfoBackupSource;
    toObject(): {
        backup?: string;
    };
    serialize(): Uint8Array;
    serialize(w: pb_1.BinaryWriter): void;
    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): DatabaseSourceInfoBackupSource;
    serializeBinary(): Uint8Array;
    static deserializeBinary(bytes: Uint8Array): DatabaseSourceInfoBackupSource;
}
export declare class DatabaseEncryptionConfig extends pb_1.Message {
    #private;
    constructor(data?: any[] | ({} & (({
        google_default_encryption?: DatabaseEncryptionConfigGoogleDefaultEncryptionOptions;
        use_source_encryption?: never;
        customer_managed_encryption?: never;
    } | {
        google_default_encryption?: never;
        use_source_encryption?: DatabaseEncryptionConfigSourceEncryptionOptions;
        customer_managed_encryption?: never;
    } | {
        google_default_encryption?: never;
        use_source_encryption?: never;
        customer_managed_encryption?: DatabaseEncryptionConfigCustomerManagedEncryptionOptions;
    }))));
    get google_default_encryption(): DatabaseEncryptionConfigGoogleDefaultEncryptionOptions;
    set google_default_encryption(value: DatabaseEncryptionConfigGoogleDefaultEncryptionOptions);
    get has_google_default_encryption(): boolean;
    get use_source_encryption(): DatabaseEncryptionConfigSourceEncryptionOptions;
    set use_source_encryption(value: DatabaseEncryptionConfigSourceEncryptionOptions);
    get has_use_source_encryption(): boolean;
    get customer_managed_encryption(): DatabaseEncryptionConfigCustomerManagedEncryptionOptions;
    set customer_managed_encryption(value: DatabaseEncryptionConfigCustomerManagedEncryptionOptions);
    get has_customer_managed_encryption(): boolean;
    get encryption_type(): "none" | "google_default_encryption" | "use_source_encryption" | "customer_managed_encryption";
    static fromObject(data: {
        google_default_encryption?: ReturnType<typeof DatabaseEncryptionConfigGoogleDefaultEncryptionOptions.prototype.toObject>;
        use_source_encryption?: ReturnType<typeof DatabaseEncryptionConfigSourceEncryptionOptions.prototype.toObject>;
        customer_managed_encryption?: ReturnType<typeof DatabaseEncryptionConfigCustomerManagedEncryptionOptions.prototype.toObject>;
    }): DatabaseEncryptionConfig;
    toObject(): {
        google_default_encryption?: ReturnType<typeof DatabaseEncryptionConfigGoogleDefaultEncryptionOptions.prototype.toObject>;
        use_source_encryption?: ReturnType<typeof DatabaseEncryptionConfigSourceEncryptionOptions.prototype.toObject>;
        customer_managed_encryption?: ReturnType<typeof DatabaseEncryptionConfigCustomerManagedEncryptionOptions.prototype.toObject>;
    };
    serialize(): Uint8Array;
    serialize(w: pb_1.BinaryWriter): void;
    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): DatabaseEncryptionConfig;
    serializeBinary(): Uint8Array;
    static deserializeBinary(bytes: Uint8Array): DatabaseEncryptionConfig;
}
export declare class DatabaseEncryptionConfigGoogleDefaultEncryptionOptions extends pb_1.Message {
    #private;
    constructor(data?: any[] | {});
    static fromObject(data: {}): DatabaseEncryptionConfigGoogleDefaultEncryptionOptions;
    toObject(): {};
    serialize(): Uint8Array;
    serialize(w: pb_1.BinaryWriter): void;
    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): DatabaseEncryptionConfigGoogleDefaultEncryptionOptions;
    serializeBinary(): Uint8Array;
    static deserializeBinary(bytes: Uint8Array): DatabaseEncryptionConfigGoogleDefaultEncryptionOptions;
}
export declare class DatabaseEncryptionConfigSourceEncryptionOptions extends pb_1.Message {
    #private;
    constructor(data?: any[] | {});
    static fromObject(data: {}): DatabaseEncryptionConfigSourceEncryptionOptions;
    toObject(): {};
    serialize(): Uint8Array;
    serialize(w: pb_1.BinaryWriter): void;
    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): DatabaseEncryptionConfigSourceEncryptionOptions;
    serializeBinary(): Uint8Array;
    static deserializeBinary(bytes: Uint8Array): DatabaseEncryptionConfigSourceEncryptionOptions;
}
export declare class DatabaseEncryptionConfigCustomerManagedEncryptionOptions extends pb_1.Message {
    #private;
    constructor(data?: any[] | {
        kms_key_name?: string;
    });
    get kms_key_name(): string;
    set kms_key_name(value: string);
    static fromObject(data: {
        kms_key_name?: string;
    }): DatabaseEncryptionConfigCustomerManagedEncryptionOptions;
    toObject(): {
        kms_key_name?: string;
    };
    serialize(): Uint8Array;
    serialize(w: pb_1.BinaryWriter): void;
    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): DatabaseEncryptionConfigCustomerManagedEncryptionOptions;
    serializeBinary(): Uint8Array;
    static deserializeBinary(bytes: Uint8Array): DatabaseEncryptionConfigCustomerManagedEncryptionOptions;
}
//# sourceMappingURL=database.d.ts.map