import { BinaryReader, BinaryWriter } from '@bufbuild/protobuf/wire';
import { type CallContext, type CallOptions } from 'nice-grpc-common';
export declare const protobufPackage = "xray.app.log.command";
export interface Config {
    $type: 'xray.app.log.command.Config';
}
export interface RestartLoggerRequest {
    $type: 'xray.app.log.command.RestartLoggerRequest';
}
export interface RestartLoggerResponse {
    $type: 'xray.app.log.command.RestartLoggerResponse';
}
export declare const Config: MessageFns<Config, 'xray.app.log.command.Config'>;
export declare const RestartLoggerRequest: MessageFns<RestartLoggerRequest, 'xray.app.log.command.RestartLoggerRequest'>;
export declare const RestartLoggerResponse: MessageFns<RestartLoggerResponse, 'xray.app.log.command.RestartLoggerResponse'>;
export type LoggerServiceDefinition = typeof LoggerServiceDefinition;
export declare const LoggerServiceDefinition: {
    readonly name: "LoggerService";
    readonly fullName: "xray.app.log.command.LoggerService";
    readonly methods: {
        readonly restartLogger: {
            readonly name: "RestartLogger";
            readonly requestType: MessageFns<RestartLoggerRequest, "xray.app.log.command.RestartLoggerRequest">;
            readonly requestStream: false;
            readonly responseType: MessageFns<RestartLoggerResponse, "xray.app.log.command.RestartLoggerResponse">;
            readonly responseStream: false;
            readonly options: {};
        };
    };
};
export interface LoggerServiceImplementation<CallContextExt = {}> {
    restartLogger(request: RestartLoggerRequest, context: CallContext & CallContextExt): Promise<DeepPartial<RestartLoggerResponse>>;
}
export interface LoggerServiceClient<CallOptionsExt = {}> {
    restartLogger(request: DeepPartial<RestartLoggerRequest>, options?: CallOptions & CallOptionsExt): Promise<RestartLoggerResponse>;
}
type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
export type DeepPartial<T> = T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? {
    [K in Exclude<keyof T, '$type'>]?: DeepPartial<T[K]>;
} : Partial<T>;
export interface MessageFns<T, V extends string> {
    readonly $type: V;
    encode(message: T, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): T;
    fromJSON(object: any): T;
    toJSON(message: T): unknown;
    create(base?: DeepPartial<T>): T;
    fromPartial(object: DeepPartial<T>): T;
}
export {};
//# sourceMappingURL=config.d.ts.map