import * as dependency_3 from "./../protobuf/any";
import * as dependency_5 from "./../protobuf/duration";
import * as dependency_6 from "./../protobuf/empty";
import * as dependency_7 from "./../rpc/status";
import * as pb_1 from "google-protobuf";
import * as grpc_1 from "@grpc/grpc-js";
export declare class Operation extends pb_1.Message {
    #private;
    constructor(data?: any[] | ({
        name?: string;
        metadata?: dependency_3.Any;
        done?: boolean;
    } & (({
        error?: dependency_7.Status;
        response?: never;
    } | {
        error?: never;
        response?: dependency_3.Any;
    }))));
    get name(): string;
    set name(value: string);
    get metadata(): dependency_3.Any;
    set metadata(value: dependency_3.Any);
    get has_metadata(): boolean;
    get done(): boolean;
    set done(value: boolean);
    get error(): dependency_7.Status;
    set error(value: dependency_7.Status);
    get has_error(): boolean;
    get response(): dependency_3.Any;
    set response(value: dependency_3.Any);
    get has_response(): boolean;
    get result(): "none" | "error" | "response";
    static fromObject(data: {
        name?: string;
        metadata?: ReturnType<typeof dependency_3.Any.prototype.toObject>;
        done?: boolean;
        error?: ReturnType<typeof dependency_7.Status.prototype.toObject>;
        response?: ReturnType<typeof dependency_3.Any.prototype.toObject>;
    }): Operation;
    toObject(): {
        name?: string;
        metadata?: ReturnType<typeof dependency_3.Any.prototype.toObject>;
        done?: boolean;
        error?: ReturnType<typeof dependency_7.Status.prototype.toObject>;
        response?: ReturnType<typeof dependency_3.Any.prototype.toObject>;
    };
    serialize(): Uint8Array;
    serialize(w: pb_1.BinaryWriter): void;
    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): Operation;
    serializeBinary(): Uint8Array;
    static deserializeBinary(bytes: Uint8Array): Operation;
}
export declare class GetOperationRequest extends pb_1.Message {
    #private;
    constructor(data?: any[] | {
        name?: string;
    });
    get name(): string;
    set name(value: string);
    static fromObject(data: {
        name?: string;
    }): GetOperationRequest;
    toObject(): {
        name?: string;
    };
    serialize(): Uint8Array;
    serialize(w: pb_1.BinaryWriter): void;
    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): GetOperationRequest;
    serializeBinary(): Uint8Array;
    static deserializeBinary(bytes: Uint8Array): GetOperationRequest;
}
export declare class ListOperationsRequest extends pb_1.Message {
    #private;
    constructor(data?: any[] | {
        name?: string;
        filter?: string;
        page_size?: number;
        page_token?: string;
    });
    get name(): string;
    set name(value: string);
    get filter(): string;
    set filter(value: string);
    get page_size(): number;
    set page_size(value: number);
    get page_token(): string;
    set page_token(value: string);
    static fromObject(data: {
        name?: string;
        filter?: string;
        page_size?: number;
        page_token?: string;
    }): ListOperationsRequest;
    toObject(): {
        name?: string;
        filter?: string;
        page_size?: number;
        page_token?: string;
    };
    serialize(): Uint8Array;
    serialize(w: pb_1.BinaryWriter): void;
    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): ListOperationsRequest;
    serializeBinary(): Uint8Array;
    static deserializeBinary(bytes: Uint8Array): ListOperationsRequest;
}
export declare class ListOperationsResponse extends pb_1.Message {
    #private;
    constructor(data?: any[] | {
        operations?: Operation[];
        next_page_token?: string;
    });
    get operations(): Operation[];
    set operations(value: Operation[]);
    get next_page_token(): string;
    set next_page_token(value: string);
    static fromObject(data: {
        operations?: ReturnType<typeof Operation.prototype.toObject>[];
        next_page_token?: string;
    }): ListOperationsResponse;
    toObject(): {
        operations?: ReturnType<typeof Operation.prototype.toObject>[];
        next_page_token?: string;
    };
    serialize(): Uint8Array;
    serialize(w: pb_1.BinaryWriter): void;
    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): ListOperationsResponse;
    serializeBinary(): Uint8Array;
    static deserializeBinary(bytes: Uint8Array): ListOperationsResponse;
}
export declare class CancelOperationRequest extends pb_1.Message {
    #private;
    constructor(data?: any[] | {
        name?: string;
    });
    get name(): string;
    set name(value: string);
    static fromObject(data: {
        name?: string;
    }): CancelOperationRequest;
    toObject(): {
        name?: string;
    };
    serialize(): Uint8Array;
    serialize(w: pb_1.BinaryWriter): void;
    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): CancelOperationRequest;
    serializeBinary(): Uint8Array;
    static deserializeBinary(bytes: Uint8Array): CancelOperationRequest;
}
export declare class DeleteOperationRequest extends pb_1.Message {
    #private;
    constructor(data?: any[] | {
        name?: string;
    });
    get name(): string;
    set name(value: string);
    static fromObject(data: {
        name?: string;
    }): DeleteOperationRequest;
    toObject(): {
        name?: string;
    };
    serialize(): Uint8Array;
    serialize(w: pb_1.BinaryWriter): void;
    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): DeleteOperationRequest;
    serializeBinary(): Uint8Array;
    static deserializeBinary(bytes: Uint8Array): DeleteOperationRequest;
}
export declare class WaitOperationRequest extends pb_1.Message {
    #private;
    constructor(data?: any[] | {
        name?: string;
        timeout?: dependency_5.Duration;
    });
    get name(): string;
    set name(value: string);
    get timeout(): dependency_5.Duration;
    set timeout(value: dependency_5.Duration);
    get has_timeout(): boolean;
    static fromObject(data: {
        name?: string;
        timeout?: ReturnType<typeof dependency_5.Duration.prototype.toObject>;
    }): WaitOperationRequest;
    toObject(): {
        name?: string;
        timeout?: ReturnType<typeof dependency_5.Duration.prototype.toObject>;
    };
    serialize(): Uint8Array;
    serialize(w: pb_1.BinaryWriter): void;
    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): WaitOperationRequest;
    serializeBinary(): Uint8Array;
    static deserializeBinary(bytes: Uint8Array): WaitOperationRequest;
}
export declare class OperationInfo extends pb_1.Message {
    #private;
    constructor(data?: any[] | {
        response_type?: string;
        metadata_type?: string;
    });
    get response_type(): string;
    set response_type(value: string);
    get metadata_type(): string;
    set metadata_type(value: string);
    static fromObject(data: {
        response_type?: string;
        metadata_type?: string;
    }): OperationInfo;
    toObject(): {
        response_type?: string;
        metadata_type?: string;
    };
    serialize(): Uint8Array;
    serialize(w: pb_1.BinaryWriter): void;
    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): OperationInfo;
    serializeBinary(): Uint8Array;
    static deserializeBinary(bytes: Uint8Array): OperationInfo;
}
interface GrpcUnaryServiceInterface<P, R> {
    (message: P, metadata: grpc_1.Metadata, options: grpc_1.CallOptions, callback: grpc_1.requestCallback<R>): grpc_1.ClientUnaryCall;
    (message: P, metadata: grpc_1.Metadata, callback: grpc_1.requestCallback<R>): grpc_1.ClientUnaryCall;
    (message: P, options: grpc_1.CallOptions, callback: grpc_1.requestCallback<R>): grpc_1.ClientUnaryCall;
    (message: P, callback: grpc_1.requestCallback<R>): grpc_1.ClientUnaryCall;
}
export declare abstract class UnimplementedOperationsService {
    static definition: {
        ListOperations: {
            path: string;
            requestStream: boolean;
            responseStream: boolean;
            requestSerialize: (message: ListOperationsRequest) => Buffer<ArrayBuffer>;
            requestDeserialize: (bytes: Buffer) => ListOperationsRequest;
            responseSerialize: (message: ListOperationsResponse) => Buffer<ArrayBuffer>;
            responseDeserialize: (bytes: Buffer) => ListOperationsResponse;
        };
        GetOperation: {
            path: string;
            requestStream: boolean;
            responseStream: boolean;
            requestSerialize: (message: GetOperationRequest) => Buffer<ArrayBuffer>;
            requestDeserialize: (bytes: Buffer) => GetOperationRequest;
            responseSerialize: (message: Operation) => Buffer<ArrayBuffer>;
            responseDeserialize: (bytes: Buffer) => Operation;
        };
        DeleteOperation: {
            path: string;
            requestStream: boolean;
            responseStream: boolean;
            requestSerialize: (message: DeleteOperationRequest) => Buffer<ArrayBuffer>;
            requestDeserialize: (bytes: Buffer) => DeleteOperationRequest;
            responseSerialize: (message: dependency_6.Empty) => Buffer<ArrayBuffer>;
            responseDeserialize: (bytes: Buffer) => dependency_6.Empty;
        };
        CancelOperation: {
            path: string;
            requestStream: boolean;
            responseStream: boolean;
            requestSerialize: (message: CancelOperationRequest) => Buffer<ArrayBuffer>;
            requestDeserialize: (bytes: Buffer) => CancelOperationRequest;
            responseSerialize: (message: dependency_6.Empty) => Buffer<ArrayBuffer>;
            responseDeserialize: (bytes: Buffer) => dependency_6.Empty;
        };
        WaitOperation: {
            path: string;
            requestStream: boolean;
            responseStream: boolean;
            requestSerialize: (message: WaitOperationRequest) => Buffer<ArrayBuffer>;
            requestDeserialize: (bytes: Buffer) => WaitOperationRequest;
            responseSerialize: (message: Operation) => Buffer<ArrayBuffer>;
            responseDeserialize: (bytes: Buffer) => Operation;
        };
    };
    [method: string]: grpc_1.UntypedHandleCall;
    abstract ListOperations(call: grpc_1.ServerUnaryCall<ListOperationsRequest, ListOperationsResponse>, callback: grpc_1.sendUnaryData<ListOperationsResponse>): void;
    abstract GetOperation(call: grpc_1.ServerUnaryCall<GetOperationRequest, Operation>, callback: grpc_1.sendUnaryData<Operation>): void;
    abstract DeleteOperation(call: grpc_1.ServerUnaryCall<DeleteOperationRequest, dependency_6.Empty>, callback: grpc_1.sendUnaryData<dependency_6.Empty>): void;
    abstract CancelOperation(call: grpc_1.ServerUnaryCall<CancelOperationRequest, dependency_6.Empty>, callback: grpc_1.sendUnaryData<dependency_6.Empty>): void;
    abstract WaitOperation(call: grpc_1.ServerUnaryCall<WaitOperationRequest, Operation>, callback: grpc_1.sendUnaryData<Operation>): void;
}
declare const OperationsClient_base: grpc_1.ServiceClientConstructor;
export declare class OperationsClient extends OperationsClient_base {
    constructor(address: string, credentials: grpc_1.ChannelCredentials, options?: Partial<grpc_1.ChannelOptions>);
    ListOperations: GrpcUnaryServiceInterface<ListOperationsRequest, ListOperationsResponse>;
    GetOperation: GrpcUnaryServiceInterface<GetOperationRequest, Operation>;
    DeleteOperation: GrpcUnaryServiceInterface<DeleteOperationRequest, dependency_6.Empty>;
    CancelOperation: GrpcUnaryServiceInterface<CancelOperationRequest, dependency_6.Empty>;
    WaitOperation: GrpcUnaryServiceInterface<WaitOperationRequest, Operation>;
}
export {};
//# sourceMappingURL=operations.d.ts.map