/// <reference types="node" />
/**
 * Generated by the protoc-gen-ts.  DO NOT EDIT!
 * compiler version: 3.19.1
 * source: token.proto
 * git: https://github.com/thesayyn/protoc-gen-ts */
import * as dependency_1 from "./permissionmessages";
import * as pb_1 from "google-protobuf";
import * as grpc_1 from "@grpc/grpc-js";
export declare namespace token {
    export class _GenerateDisposableTokenRequest extends pb_1.Message {
        #private;
        constructor(data?: any[] | {
            expires?: _GenerateDisposableTokenRequest.Expires;
            auth_token?: string;
            permissions?: dependency_1.permission_messages.Permissions;
            token_id?: string;
        });
        get expires(): _GenerateDisposableTokenRequest.Expires;
        set expires(value: _GenerateDisposableTokenRequest.Expires);
        get has_expires(): boolean;
        get auth_token(): string;
        set auth_token(value: string);
        get permissions(): dependency_1.permission_messages.Permissions;
        set permissions(value: dependency_1.permission_messages.Permissions);
        get has_permissions(): boolean;
        get token_id(): string;
        set token_id(value: string);
        static fromObject(data: {
            expires?: ReturnType<typeof _GenerateDisposableTokenRequest.Expires.prototype.toObject>;
            auth_token?: string;
            permissions?: ReturnType<typeof dependency_1.permission_messages.Permissions.prototype.toObject>;
            token_id?: string;
        }): _GenerateDisposableTokenRequest;
        toObject(): {
            expires?: ReturnType<typeof _GenerateDisposableTokenRequest.Expires.prototype.toObject>;
            auth_token?: string;
            permissions?: ReturnType<typeof dependency_1.permission_messages.Permissions.prototype.toObject>;
            token_id?: string;
        };
        serialize(): Uint8Array;
        serialize(w: pb_1.BinaryWriter): void;
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): _GenerateDisposableTokenRequest;
        serializeBinary(): Uint8Array;
        static deserializeBinary(bytes: Uint8Array): _GenerateDisposableTokenRequest;
    }
    export namespace _GenerateDisposableTokenRequest {
        class Expires extends pb_1.Message {
            #private;
            constructor(data?: any[] | {
                valid_for_seconds?: number;
            });
            get valid_for_seconds(): number;
            set valid_for_seconds(value: number);
            static fromObject(data: {
                valid_for_seconds?: number;
            }): Expires;
            toObject(): {
                valid_for_seconds?: number;
            };
            serialize(): Uint8Array;
            serialize(w: pb_1.BinaryWriter): void;
            static deserialize(bytes: Uint8Array | pb_1.BinaryReader): Expires;
            serializeBinary(): Uint8Array;
            static deserializeBinary(bytes: Uint8Array): Expires;
        }
    }
    export class _GenerateDisposableTokenResponse extends pb_1.Message {
        #private;
        constructor(data?: any[] | {
            api_key?: string;
            endpoint?: string;
            valid_until?: number;
        });
        get api_key(): string;
        set api_key(value: string);
        get endpoint(): string;
        set endpoint(value: string);
        get valid_until(): number;
        set valid_until(value: number);
        static fromObject(data: {
            api_key?: string;
            endpoint?: string;
            valid_until?: number;
        }): _GenerateDisposableTokenResponse;
        toObject(): {
            api_key?: string;
            endpoint?: string;
            valid_until?: number;
        };
        serialize(): Uint8Array;
        serialize(w: pb_1.BinaryWriter): void;
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): _GenerateDisposableTokenResponse;
        serializeBinary(): Uint8Array;
        static deserializeBinary(bytes: Uint8Array): _GenerateDisposableTokenResponse;
    }
    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 abstract class UnimplementedTokenService {
        static definition: {
            GenerateDisposableToken: {
                path: string;
                requestStream: boolean;
                responseStream: boolean;
                requestSerialize: (message: _GenerateDisposableTokenRequest) => Buffer;
                requestDeserialize: (bytes: Buffer) => _GenerateDisposableTokenRequest;
                responseSerialize: (message: _GenerateDisposableTokenResponse) => Buffer;
                responseDeserialize: (bytes: Buffer) => _GenerateDisposableTokenResponse;
            };
        };
        [method: string]: grpc_1.UntypedHandleCall;
        abstract GenerateDisposableToken(call: grpc_1.ServerUnaryCall<_GenerateDisposableTokenRequest, _GenerateDisposableTokenResponse>, callback: grpc_1.sendUnaryData<_GenerateDisposableTokenResponse>): void;
    }
    const TokenClient_base: grpc_1.ServiceClientConstructor;
    export class TokenClient extends TokenClient_base {
        constructor(address: string, credentials: grpc_1.ChannelCredentials, options?: Partial<grpc_1.ChannelOptions>);
        GenerateDisposableToken: GrpcUnaryServiceInterface<_GenerateDisposableTokenRequest, _GenerateDisposableTokenResponse>;
    }
    export {};
}
