import { Filters, FilterStatus, FilterField } from './sessions_filters.js';
import { FilterStringOperator, FilterNumberOperator, FilterBooleanOperator, FilterStatusOperator, FilterDateOperator, FilterArrayOperator, FilterDurationOperator, FilterString, FilterNumber, FilterBoolean, FilterDate, FilterArray, FilterDuration } from './filters_common.js';
import { SessionRawEnumField, TaskOptionEnumField, SessionField } from './sessions_fields.js';
import _m0 from 'protobufjs/minimal.js';
import { Duration } from './google/protobuf/duration.js';
import { TaskOptions } from './objects.js';
import { SessionStatus } from './session_status.js';
import { SortDirection } from './sort_direction.js';
import './task_status.js';

declare const protobufPackage = "armonik.api.grpc.v1.sessions";
/** Messages describing sessions and associated requests and responses. */
/** A raw session object. */
interface SessionRaw {
    /** The session ID. */
    sessionId: string;
    /** The session status. */
    status: SessionStatus;
    /** Whether clients can submit tasks in the session. */
    clientSubmission: boolean;
    /** Whether workers can submit tasks in the session. */
    workerSubmission: boolean;
    /** The partition IDs. */
    partitionIds: string[];
    /** The task options. In fact, these are used as default value in child tasks. */
    options: TaskOptions | undefined;
    /** The creation date. */
    createdAt: Date | undefined;
    /** The cancellation date. Only set when status is 'cancelled'. */
    cancelledAt: Date | undefined;
    /** The closure date. Only set when status is 'closed'. */
    closedAt: Date | undefined;
    /** The purge date. Only set when status is 'purged'. */
    purgedAt: Date | undefined;
    /** The deletion date. Only set when status is 'deleted'. */
    deletedAt: Date | undefined;
    /** The duration. Only set when status is 'cancelled' and 'closed'. */
    duration: Duration | undefined;
}
declare const SessionRaw: {
    encode(message: SessionRaw, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): SessionRaw;
    fromJSON(object: any): SessionRaw;
    toJSON(message: SessionRaw): unknown;
    create<I extends {
        sessionId?: string | undefined;
        status?: SessionStatus | undefined;
        clientSubmission?: boolean | undefined;
        workerSubmission?: boolean | undefined;
        partitionIds?: string[] | undefined;
        options?: {
            options?: {
                [x: string]: string | undefined;
            } | undefined;
            maxDuration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
            maxRetries?: number | undefined;
            priority?: number | undefined;
            partitionId?: string | undefined;
            applicationName?: string | undefined;
            applicationVersion?: string | undefined;
            applicationNamespace?: string | undefined;
            applicationService?: string | undefined;
            engineType?: string | undefined;
        } | undefined;
        createdAt?: Date | undefined;
        cancelledAt?: Date | undefined;
        closedAt?: Date | undefined;
        purgedAt?: Date | undefined;
        deletedAt?: Date | undefined;
        duration?: {
            seconds?: number | undefined;
            nanos?: number | undefined;
        } | undefined;
    } & {
        sessionId?: string | undefined;
        status?: SessionStatus | undefined;
        clientSubmission?: boolean | undefined;
        workerSubmission?: boolean | undefined;
        partitionIds?: (string[] & string[] & { [K in Exclude<keyof I["partitionIds"], keyof string[]>]: never; }) | undefined;
        options?: ({
            options?: {
                [x: string]: string | undefined;
            } | undefined;
            maxDuration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
            maxRetries?: number | undefined;
            priority?: number | undefined;
            partitionId?: string | undefined;
            applicationName?: string | undefined;
            applicationVersion?: string | undefined;
            applicationNamespace?: string | undefined;
            applicationService?: string | undefined;
            engineType?: string | undefined;
        } & {
            options?: ({
                [x: string]: string | undefined;
            } & {
                [x: string]: string | undefined;
            } & { [K_1 in Exclude<keyof I["options"]["options"], string | number>]: never; }) | undefined;
            maxDuration?: ({
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & { [K_2 in Exclude<keyof I["options"]["maxDuration"], keyof Duration>]: never; }) | undefined;
            maxRetries?: number | undefined;
            priority?: number | undefined;
            partitionId?: string | undefined;
            applicationName?: string | undefined;
            applicationVersion?: string | undefined;
            applicationNamespace?: string | undefined;
            applicationService?: string | undefined;
            engineType?: string | undefined;
        } & { [K_3 in Exclude<keyof I["options"], keyof TaskOptions>]: never; }) | undefined;
        createdAt?: Date | undefined;
        cancelledAt?: Date | undefined;
        closedAt?: Date | undefined;
        purgedAt?: Date | undefined;
        deletedAt?: Date | undefined;
        duration?: ({
            seconds?: number | undefined;
            nanos?: number | undefined;
        } & {
            seconds?: number | undefined;
            nanos?: number | undefined;
        } & { [K_4 in Exclude<keyof I["duration"], keyof Duration>]: never; }) | undefined;
    } & { [K_5 in Exclude<keyof I, keyof SessionRaw>]: never; }>(base?: I | undefined): SessionRaw;
    fromPartial<I_1 extends {
        sessionId?: string | undefined;
        status?: SessionStatus | undefined;
        clientSubmission?: boolean | undefined;
        workerSubmission?: boolean | undefined;
        partitionIds?: string[] | undefined;
        options?: {
            options?: {
                [x: string]: string | undefined;
            } | undefined;
            maxDuration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
            maxRetries?: number | undefined;
            priority?: number | undefined;
            partitionId?: string | undefined;
            applicationName?: string | undefined;
            applicationVersion?: string | undefined;
            applicationNamespace?: string | undefined;
            applicationService?: string | undefined;
            engineType?: string | undefined;
        } | undefined;
        createdAt?: Date | undefined;
        cancelledAt?: Date | undefined;
        closedAt?: Date | undefined;
        purgedAt?: Date | undefined;
        deletedAt?: Date | undefined;
        duration?: {
            seconds?: number | undefined;
            nanos?: number | undefined;
        } | undefined;
    } & {
        sessionId?: string | undefined;
        status?: SessionStatus | undefined;
        clientSubmission?: boolean | undefined;
        workerSubmission?: boolean | undefined;
        partitionIds?: (string[] & string[] & { [K_6 in Exclude<keyof I_1["partitionIds"], keyof string[]>]: never; }) | undefined;
        options?: ({
            options?: {
                [x: string]: string | undefined;
            } | undefined;
            maxDuration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
            maxRetries?: number | undefined;
            priority?: number | undefined;
            partitionId?: string | undefined;
            applicationName?: string | undefined;
            applicationVersion?: string | undefined;
            applicationNamespace?: string | undefined;
            applicationService?: string | undefined;
            engineType?: string | undefined;
        } & {
            options?: ({
                [x: string]: string | undefined;
            } & {
                [x: string]: string | undefined;
            } & { [K_7 in Exclude<keyof I_1["options"]["options"], string | number>]: never; }) | undefined;
            maxDuration?: ({
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & { [K_8 in Exclude<keyof I_1["options"]["maxDuration"], keyof Duration>]: never; }) | undefined;
            maxRetries?: number | undefined;
            priority?: number | undefined;
            partitionId?: string | undefined;
            applicationName?: string | undefined;
            applicationVersion?: string | undefined;
            applicationNamespace?: string | undefined;
            applicationService?: string | undefined;
            engineType?: string | undefined;
        } & { [K_9 in Exclude<keyof I_1["options"], keyof TaskOptions>]: never; }) | undefined;
        createdAt?: Date | undefined;
        cancelledAt?: Date | undefined;
        closedAt?: Date | undefined;
        purgedAt?: Date | undefined;
        deletedAt?: Date | undefined;
        duration?: ({
            seconds?: number | undefined;
            nanos?: number | undefined;
        } & {
            seconds?: number | undefined;
            nanos?: number | undefined;
        } & { [K_10 in Exclude<keyof I_1["duration"], keyof Duration>]: never; }) | undefined;
    } & { [K_11 in Exclude<keyof I_1, keyof SessionRaw>]: never; }>(object: I_1): SessionRaw;
};
/**
 * Request to list sessions.
 *
 * Use pagination, filtering and sorting.
 */
interface ListSessionsRequest {
    /** The page number. Start at 0. */
    page: number;
    /** The page size. */
    pageSize: number;
    /** The filters. */
    filters: Filters | undefined;
    /**
     * The sort.
     *
     * Must be set for every request.
     */
    sort: ListSessionsRequest_Sort | undefined;
    /** Flag to tell if server must return task options in summary sessions */
    withTaskOptions: boolean;
}
declare const ListSessionsRequest: {
    encode(message: ListSessionsRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ListSessionsRequest;
    fromJSON(object: any): ListSessionsRequest;
    toJSON(message: ListSessionsRequest): unknown;
    create<I extends {
        page?: number | undefined;
        pageSize?: number | undefined;
        filters?: {
            or?: {
                and?: {
                    field?: {
                        sessionRawField?: {
                            field?: SessionRawEnumField | undefined;
                        } | undefined;
                        taskOptionField?: {
                            field?: TaskOptionEnumField | undefined;
                        } | undefined;
                        taskOptionGenericField?: {
                            field?: string | undefined;
                        } | undefined;
                    } | undefined;
                    filterString?: {
                        value?: string | undefined;
                        operator?: FilterStringOperator | undefined;
                    } | undefined;
                    filterNumber?: {
                        value?: number | undefined;
                        operator?: FilterNumberOperator | undefined;
                    } | undefined;
                    filterBoolean?: {
                        value?: boolean | undefined;
                        operator?: FilterBooleanOperator | undefined;
                    } | undefined;
                    filterStatus?: {
                        value?: SessionStatus | undefined;
                        operator?: FilterStatusOperator | undefined;
                    } | undefined;
                    filterDate?: {
                        value?: Date | undefined;
                        operator?: FilterDateOperator | undefined;
                    } | undefined;
                    filterArray?: {
                        value?: string | undefined;
                        operator?: FilterArrayOperator | undefined;
                    } | undefined;
                    filterDuration?: {
                        value?: {
                            seconds?: number | undefined;
                            nanos?: number | undefined;
                        } | undefined;
                        operator?: FilterDurationOperator | undefined;
                    } | undefined;
                }[] | undefined;
            }[] | undefined;
        } | undefined;
        sort?: {
            field?: {
                sessionRawField?: {
                    field?: SessionRawEnumField | undefined;
                } | undefined;
                taskOptionField?: {
                    field?: TaskOptionEnumField | undefined;
                } | undefined;
                taskOptionGenericField?: {
                    field?: string | undefined;
                } | undefined;
            } | undefined;
            direction?: SortDirection | undefined;
        } | undefined;
        withTaskOptions?: boolean | undefined;
    } & {
        page?: number | undefined;
        pageSize?: number | undefined;
        filters?: ({
            or?: {
                and?: {
                    field?: {
                        sessionRawField?: {
                            field?: SessionRawEnumField | undefined;
                        } | undefined;
                        taskOptionField?: {
                            field?: TaskOptionEnumField | undefined;
                        } | undefined;
                        taskOptionGenericField?: {
                            field?: string | undefined;
                        } | undefined;
                    } | undefined;
                    filterString?: {
                        value?: string | undefined;
                        operator?: FilterStringOperator | undefined;
                    } | undefined;
                    filterNumber?: {
                        value?: number | undefined;
                        operator?: FilterNumberOperator | undefined;
                    } | undefined;
                    filterBoolean?: {
                        value?: boolean | undefined;
                        operator?: FilterBooleanOperator | undefined;
                    } | undefined;
                    filterStatus?: {
                        value?: SessionStatus | undefined;
                        operator?: FilterStatusOperator | undefined;
                    } | undefined;
                    filterDate?: {
                        value?: Date | undefined;
                        operator?: FilterDateOperator | undefined;
                    } | undefined;
                    filterArray?: {
                        value?: string | undefined;
                        operator?: FilterArrayOperator | undefined;
                    } | undefined;
                    filterDuration?: {
                        value?: {
                            seconds?: number | undefined;
                            nanos?: number | undefined;
                        } | undefined;
                        operator?: FilterDurationOperator | undefined;
                    } | undefined;
                }[] | undefined;
            }[] | undefined;
        } & {
            or?: ({
                and?: {
                    field?: {
                        sessionRawField?: {
                            field?: SessionRawEnumField | undefined;
                        } | undefined;
                        taskOptionField?: {
                            field?: TaskOptionEnumField | undefined;
                        } | undefined;
                        taskOptionGenericField?: {
                            field?: string | undefined;
                        } | undefined;
                    } | undefined;
                    filterString?: {
                        value?: string | undefined;
                        operator?: FilterStringOperator | undefined;
                    } | undefined;
                    filterNumber?: {
                        value?: number | undefined;
                        operator?: FilterNumberOperator | undefined;
                    } | undefined;
                    filterBoolean?: {
                        value?: boolean | undefined;
                        operator?: FilterBooleanOperator | undefined;
                    } | undefined;
                    filterStatus?: {
                        value?: SessionStatus | undefined;
                        operator?: FilterStatusOperator | undefined;
                    } | undefined;
                    filterDate?: {
                        value?: Date | undefined;
                        operator?: FilterDateOperator | undefined;
                    } | undefined;
                    filterArray?: {
                        value?: string | undefined;
                        operator?: FilterArrayOperator | undefined;
                    } | undefined;
                    filterDuration?: {
                        value?: {
                            seconds?: number | undefined;
                            nanos?: number | undefined;
                        } | undefined;
                        operator?: FilterDurationOperator | undefined;
                    } | undefined;
                }[] | undefined;
            }[] & ({
                and?: {
                    field?: {
                        sessionRawField?: {
                            field?: SessionRawEnumField | undefined;
                        } | undefined;
                        taskOptionField?: {
                            field?: TaskOptionEnumField | undefined;
                        } | undefined;
                        taskOptionGenericField?: {
                            field?: string | undefined;
                        } | undefined;
                    } | undefined;
                    filterString?: {
                        value?: string | undefined;
                        operator?: FilterStringOperator | undefined;
                    } | undefined;
                    filterNumber?: {
                        value?: number | undefined;
                        operator?: FilterNumberOperator | undefined;
                    } | undefined;
                    filterBoolean?: {
                        value?: boolean | undefined;
                        operator?: FilterBooleanOperator | undefined;
                    } | undefined;
                    filterStatus?: {
                        value?: SessionStatus | undefined;
                        operator?: FilterStatusOperator | undefined;
                    } | undefined;
                    filterDate?: {
                        value?: Date | undefined;
                        operator?: FilterDateOperator | undefined;
                    } | undefined;
                    filterArray?: {
                        value?: string | undefined;
                        operator?: FilterArrayOperator | undefined;
                    } | undefined;
                    filterDuration?: {
                        value?: {
                            seconds?: number | undefined;
                            nanos?: number | undefined;
                        } | undefined;
                        operator?: FilterDurationOperator | undefined;
                    } | undefined;
                }[] | undefined;
            } & {
                and?: ({
                    field?: {
                        sessionRawField?: {
                            field?: SessionRawEnumField | undefined;
                        } | undefined;
                        taskOptionField?: {
                            field?: TaskOptionEnumField | undefined;
                        } | undefined;
                        taskOptionGenericField?: {
                            field?: string | undefined;
                        } | undefined;
                    } | undefined;
                    filterString?: {
                        value?: string | undefined;
                        operator?: FilterStringOperator | undefined;
                    } | undefined;
                    filterNumber?: {
                        value?: number | undefined;
                        operator?: FilterNumberOperator | undefined;
                    } | undefined;
                    filterBoolean?: {
                        value?: boolean | undefined;
                        operator?: FilterBooleanOperator | undefined;
                    } | undefined;
                    filterStatus?: {
                        value?: SessionStatus | undefined;
                        operator?: FilterStatusOperator | undefined;
                    } | undefined;
                    filterDate?: {
                        value?: Date | undefined;
                        operator?: FilterDateOperator | undefined;
                    } | undefined;
                    filterArray?: {
                        value?: string | undefined;
                        operator?: FilterArrayOperator | undefined;
                    } | undefined;
                    filterDuration?: {
                        value?: {
                            seconds?: number | undefined;
                            nanos?: number | undefined;
                        } | undefined;
                        operator?: FilterDurationOperator | undefined;
                    } | undefined;
                }[] & ({
                    field?: {
                        sessionRawField?: {
                            field?: SessionRawEnumField | undefined;
                        } | undefined;
                        taskOptionField?: {
                            field?: TaskOptionEnumField | undefined;
                        } | undefined;
                        taskOptionGenericField?: {
                            field?: string | undefined;
                        } | undefined;
                    } | undefined;
                    filterString?: {
                        value?: string | undefined;
                        operator?: FilterStringOperator | undefined;
                    } | undefined;
                    filterNumber?: {
                        value?: number | undefined;
                        operator?: FilterNumberOperator | undefined;
                    } | undefined;
                    filterBoolean?: {
                        value?: boolean | undefined;
                        operator?: FilterBooleanOperator | undefined;
                    } | undefined;
                    filterStatus?: {
                        value?: SessionStatus | undefined;
                        operator?: FilterStatusOperator | undefined;
                    } | undefined;
                    filterDate?: {
                        value?: Date | undefined;
                        operator?: FilterDateOperator | undefined;
                    } | undefined;
                    filterArray?: {
                        value?: string | undefined;
                        operator?: FilterArrayOperator | undefined;
                    } | undefined;
                    filterDuration?: {
                        value?: {
                            seconds?: number | undefined;
                            nanos?: number | undefined;
                        } | undefined;
                        operator?: FilterDurationOperator | undefined;
                    } | undefined;
                } & {
                    field?: ({
                        sessionRawField?: {
                            field?: SessionRawEnumField | undefined;
                        } | undefined;
                        taskOptionField?: {
                            field?: TaskOptionEnumField | undefined;
                        } | undefined;
                        taskOptionGenericField?: {
                            field?: string | undefined;
                        } | undefined;
                    } & {
                        sessionRawField?: ({
                            field?: SessionRawEnumField | undefined;
                        } & {
                            field?: SessionRawEnumField | undefined;
                        } & { [K in Exclude<keyof I["filters"]["or"][number]["and"][number]["field"]["sessionRawField"], "field">]: never; }) | undefined;
                        taskOptionField?: ({
                            field?: TaskOptionEnumField | undefined;
                        } & {
                            field?: TaskOptionEnumField | undefined;
                        } & { [K_1 in Exclude<keyof I["filters"]["or"][number]["and"][number]["field"]["taskOptionField"], "field">]: never; }) | undefined;
                        taskOptionGenericField?: ({
                            field?: string | undefined;
                        } & {
                            field?: string | undefined;
                        } & { [K_2 in Exclude<keyof I["filters"]["or"][number]["and"][number]["field"]["taskOptionGenericField"], "field">]: never; }) | undefined;
                    } & { [K_3 in Exclude<keyof I["filters"]["or"][number]["and"][number]["field"], keyof SessionField>]: never; }) | undefined;
                    filterString?: ({
                        value?: string | undefined;
                        operator?: FilterStringOperator | undefined;
                    } & {
                        value?: string | undefined;
                        operator?: FilterStringOperator | undefined;
                    } & { [K_4 in Exclude<keyof I["filters"]["or"][number]["and"][number]["filterString"], keyof FilterString>]: never; }) | undefined;
                    filterNumber?: ({
                        value?: number | undefined;
                        operator?: FilterNumberOperator | undefined;
                    } & {
                        value?: number | undefined;
                        operator?: FilterNumberOperator | undefined;
                    } & { [K_5 in Exclude<keyof I["filters"]["or"][number]["and"][number]["filterNumber"], keyof FilterNumber>]: never; }) | undefined;
                    filterBoolean?: ({
                        value?: boolean | undefined;
                        operator?: FilterBooleanOperator | undefined;
                    } & {
                        value?: boolean | undefined;
                        operator?: FilterBooleanOperator | undefined;
                    } & { [K_6 in Exclude<keyof I["filters"]["or"][number]["and"][number]["filterBoolean"], keyof FilterBoolean>]: never; }) | undefined;
                    filterStatus?: ({
                        value?: SessionStatus | undefined;
                        operator?: FilterStatusOperator | undefined;
                    } & {
                        value?: SessionStatus | undefined;
                        operator?: FilterStatusOperator | undefined;
                    } & { [K_7 in Exclude<keyof I["filters"]["or"][number]["and"][number]["filterStatus"], keyof FilterStatus>]: never; }) | undefined;
                    filterDate?: ({
                        value?: Date | undefined;
                        operator?: FilterDateOperator | undefined;
                    } & {
                        value?: Date | undefined;
                        operator?: FilterDateOperator | undefined;
                    } & { [K_8 in Exclude<keyof I["filters"]["or"][number]["and"][number]["filterDate"], keyof FilterDate>]: never; }) | undefined;
                    filterArray?: ({
                        value?: string | undefined;
                        operator?: FilterArrayOperator | undefined;
                    } & {
                        value?: string | undefined;
                        operator?: FilterArrayOperator | undefined;
                    } & { [K_9 in Exclude<keyof I["filters"]["or"][number]["and"][number]["filterArray"], keyof FilterArray>]: never; }) | undefined;
                    filterDuration?: ({
                        value?: {
                            seconds?: number | undefined;
                            nanos?: number | undefined;
                        } | undefined;
                        operator?: FilterDurationOperator | undefined;
                    } & {
                        value?: ({
                            seconds?: number | undefined;
                            nanos?: number | undefined;
                        } & {
                            seconds?: number | undefined;
                            nanos?: number | undefined;
                        } & { [K_10 in Exclude<keyof I["filters"]["or"][number]["and"][number]["filterDuration"]["value"], keyof Duration>]: never; }) | undefined;
                        operator?: FilterDurationOperator | undefined;
                    } & { [K_11 in Exclude<keyof I["filters"]["or"][number]["and"][number]["filterDuration"], keyof FilterDuration>]: never; }) | undefined;
                } & { [K_12 in Exclude<keyof I["filters"]["or"][number]["and"][number], keyof FilterField>]: never; })[] & { [K_13 in Exclude<keyof I["filters"]["or"][number]["and"], keyof {
                    field?: {
                        sessionRawField?: {
                            field?: SessionRawEnumField | undefined;
                        } | undefined;
                        taskOptionField?: {
                            field?: TaskOptionEnumField | undefined;
                        } | undefined;
                        taskOptionGenericField?: {
                            field?: string | undefined;
                        } | undefined;
                    } | undefined;
                    filterString?: {
                        value?: string | undefined;
                        operator?: FilterStringOperator | undefined;
                    } | undefined;
                    filterNumber?: {
                        value?: number | undefined;
                        operator?: FilterNumberOperator | undefined;
                    } | undefined;
                    filterBoolean?: {
                        value?: boolean | undefined;
                        operator?: FilterBooleanOperator | undefined;
                    } | undefined;
                    filterStatus?: {
                        value?: SessionStatus | undefined;
                        operator?: FilterStatusOperator | undefined;
                    } | undefined;
                    filterDate?: {
                        value?: Date | undefined;
                        operator?: FilterDateOperator | undefined;
                    } | undefined;
                    filterArray?: {
                        value?: string | undefined;
                        operator?: FilterArrayOperator | undefined;
                    } | undefined;
                    filterDuration?: {
                        value?: {
                            seconds?: number | undefined;
                            nanos?: number | undefined;
                        } | undefined;
                        operator?: FilterDurationOperator | undefined;
                    } | undefined;
                }[]>]: never; }) | undefined;
            } & { [K_14 in Exclude<keyof I["filters"]["or"][number], "and">]: never; })[] & { [K_15 in Exclude<keyof I["filters"]["or"], keyof {
                and?: {
                    field?: {
                        sessionRawField?: {
                            field?: SessionRawEnumField | undefined;
                        } | undefined;
                        taskOptionField?: {
                            field?: TaskOptionEnumField | undefined;
                        } | undefined;
                        taskOptionGenericField?: {
                            field?: string | undefined;
                        } | undefined;
                    } | undefined;
                    filterString?: {
                        value?: string | undefined;
                        operator?: FilterStringOperator | undefined;
                    } | undefined;
                    filterNumber?: {
                        value?: number | undefined;
                        operator?: FilterNumberOperator | undefined;
                    } | undefined;
                    filterBoolean?: {
                        value?: boolean | undefined;
                        operator?: FilterBooleanOperator | undefined;
                    } | undefined;
                    filterStatus?: {
                        value?: SessionStatus | undefined;
                        operator?: FilterStatusOperator | undefined;
                    } | undefined;
                    filterDate?: {
                        value?: Date | undefined;
                        operator?: FilterDateOperator | undefined;
                    } | undefined;
                    filterArray?: {
                        value?: string | undefined;
                        operator?: FilterArrayOperator | undefined;
                    } | undefined;
                    filterDuration?: {
                        value?: {
                            seconds?: number | undefined;
                            nanos?: number | undefined;
                        } | undefined;
                        operator?: FilterDurationOperator | undefined;
                    } | undefined;
                }[] | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_16 in Exclude<keyof I["filters"], "or">]: never; }) | undefined;
        sort?: ({
            field?: {
                sessionRawField?: {
                    field?: SessionRawEnumField | undefined;
                } | undefined;
                taskOptionField?: {
                    field?: TaskOptionEnumField | undefined;
                } | undefined;
                taskOptionGenericField?: {
                    field?: string | undefined;
                } | undefined;
            } | undefined;
            direction?: SortDirection | undefined;
        } & {
            field?: ({
                sessionRawField?: {
                    field?: SessionRawEnumField | undefined;
                } | undefined;
                taskOptionField?: {
                    field?: TaskOptionEnumField | undefined;
                } | undefined;
                taskOptionGenericField?: {
                    field?: string | undefined;
                } | undefined;
            } & {
                sessionRawField?: ({
                    field?: SessionRawEnumField | undefined;
                } & {
                    field?: SessionRawEnumField | undefined;
                } & { [K_17 in Exclude<keyof I["sort"]["field"]["sessionRawField"], "field">]: never; }) | undefined;
                taskOptionField?: ({
                    field?: TaskOptionEnumField | undefined;
                } & {
                    field?: TaskOptionEnumField | undefined;
                } & { [K_18 in Exclude<keyof I["sort"]["field"]["taskOptionField"], "field">]: never; }) | undefined;
                taskOptionGenericField?: ({
                    field?: string | undefined;
                } & {
                    field?: string | undefined;
                } & { [K_19 in Exclude<keyof I["sort"]["field"]["taskOptionGenericField"], "field">]: never; }) | undefined;
            } & { [K_20 in Exclude<keyof I["sort"]["field"], keyof SessionField>]: never; }) | undefined;
            direction?: SortDirection | undefined;
        } & { [K_21 in Exclude<keyof I["sort"], keyof ListSessionsRequest_Sort>]: never; }) | undefined;
        withTaskOptions?: boolean | undefined;
    } & { [K_22 in Exclude<keyof I, keyof ListSessionsRequest>]: never; }>(base?: I | undefined): ListSessionsRequest;
    fromPartial<I_1 extends {
        page?: number | undefined;
        pageSize?: number | undefined;
        filters?: {
            or?: {
                and?: {
                    field?: {
                        sessionRawField?: {
                            field?: SessionRawEnumField | undefined;
                        } | undefined;
                        taskOptionField?: {
                            field?: TaskOptionEnumField | undefined;
                        } | undefined;
                        taskOptionGenericField?: {
                            field?: string | undefined;
                        } | undefined;
                    } | undefined;
                    filterString?: {
                        value?: string | undefined;
                        operator?: FilterStringOperator | undefined;
                    } | undefined;
                    filterNumber?: {
                        value?: number | undefined;
                        operator?: FilterNumberOperator | undefined;
                    } | undefined;
                    filterBoolean?: {
                        value?: boolean | undefined;
                        operator?: FilterBooleanOperator | undefined;
                    } | undefined;
                    filterStatus?: {
                        value?: SessionStatus | undefined;
                        operator?: FilterStatusOperator | undefined;
                    } | undefined;
                    filterDate?: {
                        value?: Date | undefined;
                        operator?: FilterDateOperator | undefined;
                    } | undefined;
                    filterArray?: {
                        value?: string | undefined;
                        operator?: FilterArrayOperator | undefined;
                    } | undefined;
                    filterDuration?: {
                        value?: {
                            seconds?: number | undefined;
                            nanos?: number | undefined;
                        } | undefined;
                        operator?: FilterDurationOperator | undefined;
                    } | undefined;
                }[] | undefined;
            }[] | undefined;
        } | undefined;
        sort?: {
            field?: {
                sessionRawField?: {
                    field?: SessionRawEnumField | undefined;
                } | undefined;
                taskOptionField?: {
                    field?: TaskOptionEnumField | undefined;
                } | undefined;
                taskOptionGenericField?: {
                    field?: string | undefined;
                } | undefined;
            } | undefined;
            direction?: SortDirection | undefined;
        } | undefined;
        withTaskOptions?: boolean | undefined;
    } & {
        page?: number | undefined;
        pageSize?: number | undefined;
        filters?: ({
            or?: {
                and?: {
                    field?: {
                        sessionRawField?: {
                            field?: SessionRawEnumField | undefined;
                        } | undefined;
                        taskOptionField?: {
                            field?: TaskOptionEnumField | undefined;
                        } | undefined;
                        taskOptionGenericField?: {
                            field?: string | undefined;
                        } | undefined;
                    } | undefined;
                    filterString?: {
                        value?: string | undefined;
                        operator?: FilterStringOperator | undefined;
                    } | undefined;
                    filterNumber?: {
                        value?: number | undefined;
                        operator?: FilterNumberOperator | undefined;
                    } | undefined;
                    filterBoolean?: {
                        value?: boolean | undefined;
                        operator?: FilterBooleanOperator | undefined;
                    } | undefined;
                    filterStatus?: {
                        value?: SessionStatus | undefined;
                        operator?: FilterStatusOperator | undefined;
                    } | undefined;
                    filterDate?: {
                        value?: Date | undefined;
                        operator?: FilterDateOperator | undefined;
                    } | undefined;
                    filterArray?: {
                        value?: string | undefined;
                        operator?: FilterArrayOperator | undefined;
                    } | undefined;
                    filterDuration?: {
                        value?: {
                            seconds?: number | undefined;
                            nanos?: number | undefined;
                        } | undefined;
                        operator?: FilterDurationOperator | undefined;
                    } | undefined;
                }[] | undefined;
            }[] | undefined;
        } & {
            or?: ({
                and?: {
                    field?: {
                        sessionRawField?: {
                            field?: SessionRawEnumField | undefined;
                        } | undefined;
                        taskOptionField?: {
                            field?: TaskOptionEnumField | undefined;
                        } | undefined;
                        taskOptionGenericField?: {
                            field?: string | undefined;
                        } | undefined;
                    } | undefined;
                    filterString?: {
                        value?: string | undefined;
                        operator?: FilterStringOperator | undefined;
                    } | undefined;
                    filterNumber?: {
                        value?: number | undefined;
                        operator?: FilterNumberOperator | undefined;
                    } | undefined;
                    filterBoolean?: {
                        value?: boolean | undefined;
                        operator?: FilterBooleanOperator | undefined;
                    } | undefined;
                    filterStatus?: {
                        value?: SessionStatus | undefined;
                        operator?: FilterStatusOperator | undefined;
                    } | undefined;
                    filterDate?: {
                        value?: Date | undefined;
                        operator?: FilterDateOperator | undefined;
                    } | undefined;
                    filterArray?: {
                        value?: string | undefined;
                        operator?: FilterArrayOperator | undefined;
                    } | undefined;
                    filterDuration?: {
                        value?: {
                            seconds?: number | undefined;
                            nanos?: number | undefined;
                        } | undefined;
                        operator?: FilterDurationOperator | undefined;
                    } | undefined;
                }[] | undefined;
            }[] & ({
                and?: {
                    field?: {
                        sessionRawField?: {
                            field?: SessionRawEnumField | undefined;
                        } | undefined;
                        taskOptionField?: {
                            field?: TaskOptionEnumField | undefined;
                        } | undefined;
                        taskOptionGenericField?: {
                            field?: string | undefined;
                        } | undefined;
                    } | undefined;
                    filterString?: {
                        value?: string | undefined;
                        operator?: FilterStringOperator | undefined;
                    } | undefined;
                    filterNumber?: {
                        value?: number | undefined;
                        operator?: FilterNumberOperator | undefined;
                    } | undefined;
                    filterBoolean?: {
                        value?: boolean | undefined;
                        operator?: FilterBooleanOperator | undefined;
                    } | undefined;
                    filterStatus?: {
                        value?: SessionStatus | undefined;
                        operator?: FilterStatusOperator | undefined;
                    } | undefined;
                    filterDate?: {
                        value?: Date | undefined;
                        operator?: FilterDateOperator | undefined;
                    } | undefined;
                    filterArray?: {
                        value?: string | undefined;
                        operator?: FilterArrayOperator | undefined;
                    } | undefined;
                    filterDuration?: {
                        value?: {
                            seconds?: number | undefined;
                            nanos?: number | undefined;
                        } | undefined;
                        operator?: FilterDurationOperator | undefined;
                    } | undefined;
                }[] | undefined;
            } & {
                and?: ({
                    field?: {
                        sessionRawField?: {
                            field?: SessionRawEnumField | undefined;
                        } | undefined;
                        taskOptionField?: {
                            field?: TaskOptionEnumField | undefined;
                        } | undefined;
                        taskOptionGenericField?: {
                            field?: string | undefined;
                        } | undefined;
                    } | undefined;
                    filterString?: {
                        value?: string | undefined;
                        operator?: FilterStringOperator | undefined;
                    } | undefined;
                    filterNumber?: {
                        value?: number | undefined;
                        operator?: FilterNumberOperator | undefined;
                    } | undefined;
                    filterBoolean?: {
                        value?: boolean | undefined;
                        operator?: FilterBooleanOperator | undefined;
                    } | undefined;
                    filterStatus?: {
                        value?: SessionStatus | undefined;
                        operator?: FilterStatusOperator | undefined;
                    } | undefined;
                    filterDate?: {
                        value?: Date | undefined;
                        operator?: FilterDateOperator | undefined;
                    } | undefined;
                    filterArray?: {
                        value?: string | undefined;
                        operator?: FilterArrayOperator | undefined;
                    } | undefined;
                    filterDuration?: {
                        value?: {
                            seconds?: number | undefined;
                            nanos?: number | undefined;
                        } | undefined;
                        operator?: FilterDurationOperator | undefined;
                    } | undefined;
                }[] & ({
                    field?: {
                        sessionRawField?: {
                            field?: SessionRawEnumField | undefined;
                        } | undefined;
                        taskOptionField?: {
                            field?: TaskOptionEnumField | undefined;
                        } | undefined;
                        taskOptionGenericField?: {
                            field?: string | undefined;
                        } | undefined;
                    } | undefined;
                    filterString?: {
                        value?: string | undefined;
                        operator?: FilterStringOperator | undefined;
                    } | undefined;
                    filterNumber?: {
                        value?: number | undefined;
                        operator?: FilterNumberOperator | undefined;
                    } | undefined;
                    filterBoolean?: {
                        value?: boolean | undefined;
                        operator?: FilterBooleanOperator | undefined;
                    } | undefined;
                    filterStatus?: {
                        value?: SessionStatus | undefined;
                        operator?: FilterStatusOperator | undefined;
                    } | undefined;
                    filterDate?: {
                        value?: Date | undefined;
                        operator?: FilterDateOperator | undefined;
                    } | undefined;
                    filterArray?: {
                        value?: string | undefined;
                        operator?: FilterArrayOperator | undefined;
                    } | undefined;
                    filterDuration?: {
                        value?: {
                            seconds?: number | undefined;
                            nanos?: number | undefined;
                        } | undefined;
                        operator?: FilterDurationOperator | undefined;
                    } | undefined;
                } & {
                    field?: ({
                        sessionRawField?: {
                            field?: SessionRawEnumField | undefined;
                        } | undefined;
                        taskOptionField?: {
                            field?: TaskOptionEnumField | undefined;
                        } | undefined;
                        taskOptionGenericField?: {
                            field?: string | undefined;
                        } | undefined;
                    } & {
                        sessionRawField?: ({
                            field?: SessionRawEnumField | undefined;
                        } & {
                            field?: SessionRawEnumField | undefined;
                        } & { [K_23 in Exclude<keyof I_1["filters"]["or"][number]["and"][number]["field"]["sessionRawField"], "field">]: never; }) | undefined;
                        taskOptionField?: ({
                            field?: TaskOptionEnumField | undefined;
                        } & {
                            field?: TaskOptionEnumField | undefined;
                        } & { [K_24 in Exclude<keyof I_1["filters"]["or"][number]["and"][number]["field"]["taskOptionField"], "field">]: never; }) | undefined;
                        taskOptionGenericField?: ({
                            field?: string | undefined;
                        } & {
                            field?: string | undefined;
                        } & { [K_25 in Exclude<keyof I_1["filters"]["or"][number]["and"][number]["field"]["taskOptionGenericField"], "field">]: never; }) | undefined;
                    } & { [K_26 in Exclude<keyof I_1["filters"]["or"][number]["and"][number]["field"], keyof SessionField>]: never; }) | undefined;
                    filterString?: ({
                        value?: string | undefined;
                        operator?: FilterStringOperator | undefined;
                    } & {
                        value?: string | undefined;
                        operator?: FilterStringOperator | undefined;
                    } & { [K_27 in Exclude<keyof I_1["filters"]["or"][number]["and"][number]["filterString"], keyof FilterString>]: never; }) | undefined;
                    filterNumber?: ({
                        value?: number | undefined;
                        operator?: FilterNumberOperator | undefined;
                    } & {
                        value?: number | undefined;
                        operator?: FilterNumberOperator | undefined;
                    } & { [K_28 in Exclude<keyof I_1["filters"]["or"][number]["and"][number]["filterNumber"], keyof FilterNumber>]: never; }) | undefined;
                    filterBoolean?: ({
                        value?: boolean | undefined;
                        operator?: FilterBooleanOperator | undefined;
                    } & {
                        value?: boolean | undefined;
                        operator?: FilterBooleanOperator | undefined;
                    } & { [K_29 in Exclude<keyof I_1["filters"]["or"][number]["and"][number]["filterBoolean"], keyof FilterBoolean>]: never; }) | undefined;
                    filterStatus?: ({
                        value?: SessionStatus | undefined;
                        operator?: FilterStatusOperator | undefined;
                    } & {
                        value?: SessionStatus | undefined;
                        operator?: FilterStatusOperator | undefined;
                    } & { [K_30 in Exclude<keyof I_1["filters"]["or"][number]["and"][number]["filterStatus"], keyof FilterStatus>]: never; }) | undefined;
                    filterDate?: ({
                        value?: Date | undefined;
                        operator?: FilterDateOperator | undefined;
                    } & {
                        value?: Date | undefined;
                        operator?: FilterDateOperator | undefined;
                    } & { [K_31 in Exclude<keyof I_1["filters"]["or"][number]["and"][number]["filterDate"], keyof FilterDate>]: never; }) | undefined;
                    filterArray?: ({
                        value?: string | undefined;
                        operator?: FilterArrayOperator | undefined;
                    } & {
                        value?: string | undefined;
                        operator?: FilterArrayOperator | undefined;
                    } & { [K_32 in Exclude<keyof I_1["filters"]["or"][number]["and"][number]["filterArray"], keyof FilterArray>]: never; }) | undefined;
                    filterDuration?: ({
                        value?: {
                            seconds?: number | undefined;
                            nanos?: number | undefined;
                        } | undefined;
                        operator?: FilterDurationOperator | undefined;
                    } & {
                        value?: ({
                            seconds?: number | undefined;
                            nanos?: number | undefined;
                        } & {
                            seconds?: number | undefined;
                            nanos?: number | undefined;
                        } & { [K_33 in Exclude<keyof I_1["filters"]["or"][number]["and"][number]["filterDuration"]["value"], keyof Duration>]: never; }) | undefined;
                        operator?: FilterDurationOperator | undefined;
                    } & { [K_34 in Exclude<keyof I_1["filters"]["or"][number]["and"][number]["filterDuration"], keyof FilterDuration>]: never; }) | undefined;
                } & { [K_35 in Exclude<keyof I_1["filters"]["or"][number]["and"][number], keyof FilterField>]: never; })[] & { [K_36 in Exclude<keyof I_1["filters"]["or"][number]["and"], keyof {
                    field?: {
                        sessionRawField?: {
                            field?: SessionRawEnumField | undefined;
                        } | undefined;
                        taskOptionField?: {
                            field?: TaskOptionEnumField | undefined;
                        } | undefined;
                        taskOptionGenericField?: {
                            field?: string | undefined;
                        } | undefined;
                    } | undefined;
                    filterString?: {
                        value?: string | undefined;
                        operator?: FilterStringOperator | undefined;
                    } | undefined;
                    filterNumber?: {
                        value?: number | undefined;
                        operator?: FilterNumberOperator | undefined;
                    } | undefined;
                    filterBoolean?: {
                        value?: boolean | undefined;
                        operator?: FilterBooleanOperator | undefined;
                    } | undefined;
                    filterStatus?: {
                        value?: SessionStatus | undefined;
                        operator?: FilterStatusOperator | undefined;
                    } | undefined;
                    filterDate?: {
                        value?: Date | undefined;
                        operator?: FilterDateOperator | undefined;
                    } | undefined;
                    filterArray?: {
                        value?: string | undefined;
                        operator?: FilterArrayOperator | undefined;
                    } | undefined;
                    filterDuration?: {
                        value?: {
                            seconds?: number | undefined;
                            nanos?: number | undefined;
                        } | undefined;
                        operator?: FilterDurationOperator | undefined;
                    } | undefined;
                }[]>]: never; }) | undefined;
            } & { [K_37 in Exclude<keyof I_1["filters"]["or"][number], "and">]: never; })[] & { [K_38 in Exclude<keyof I_1["filters"]["or"], keyof {
                and?: {
                    field?: {
                        sessionRawField?: {
                            field?: SessionRawEnumField | undefined;
                        } | undefined;
                        taskOptionField?: {
                            field?: TaskOptionEnumField | undefined;
                        } | undefined;
                        taskOptionGenericField?: {
                            field?: string | undefined;
                        } | undefined;
                    } | undefined;
                    filterString?: {
                        value?: string | undefined;
                        operator?: FilterStringOperator | undefined;
                    } | undefined;
                    filterNumber?: {
                        value?: number | undefined;
                        operator?: FilterNumberOperator | undefined;
                    } | undefined;
                    filterBoolean?: {
                        value?: boolean | undefined;
                        operator?: FilterBooleanOperator | undefined;
                    } | undefined;
                    filterStatus?: {
                        value?: SessionStatus | undefined;
                        operator?: FilterStatusOperator | undefined;
                    } | undefined;
                    filterDate?: {
                        value?: Date | undefined;
                        operator?: FilterDateOperator | undefined;
                    } | undefined;
                    filterArray?: {
                        value?: string | undefined;
                        operator?: FilterArrayOperator | undefined;
                    } | undefined;
                    filterDuration?: {
                        value?: {
                            seconds?: number | undefined;
                            nanos?: number | undefined;
                        } | undefined;
                        operator?: FilterDurationOperator | undefined;
                    } | undefined;
                }[] | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_39 in Exclude<keyof I_1["filters"], "or">]: never; }) | undefined;
        sort?: ({
            field?: {
                sessionRawField?: {
                    field?: SessionRawEnumField | undefined;
                } | undefined;
                taskOptionField?: {
                    field?: TaskOptionEnumField | undefined;
                } | undefined;
                taskOptionGenericField?: {
                    field?: string | undefined;
                } | undefined;
            } | undefined;
            direction?: SortDirection | undefined;
        } & {
            field?: ({
                sessionRawField?: {
                    field?: SessionRawEnumField | undefined;
                } | undefined;
                taskOptionField?: {
                    field?: TaskOptionEnumField | undefined;
                } | undefined;
                taskOptionGenericField?: {
                    field?: string | undefined;
                } | undefined;
            } & {
                sessionRawField?: ({
                    field?: SessionRawEnumField | undefined;
                } & {
                    field?: SessionRawEnumField | undefined;
                } & { [K_40 in Exclude<keyof I_1["sort"]["field"]["sessionRawField"], "field">]: never; }) | undefined;
                taskOptionField?: ({
                    field?: TaskOptionEnumField | undefined;
                } & {
                    field?: TaskOptionEnumField | undefined;
                } & { [K_41 in Exclude<keyof I_1["sort"]["field"]["taskOptionField"], "field">]: never; }) | undefined;
                taskOptionGenericField?: ({
                    field?: string | undefined;
                } & {
                    field?: string | undefined;
                } & { [K_42 in Exclude<keyof I_1["sort"]["field"]["taskOptionGenericField"], "field">]: never; }) | undefined;
            } & { [K_43 in Exclude<keyof I_1["sort"]["field"], keyof SessionField>]: never; }) | undefined;
            direction?: SortDirection | undefined;
        } & { [K_44 in Exclude<keyof I_1["sort"], keyof ListSessionsRequest_Sort>]: never; }) | undefined;
        withTaskOptions?: boolean | undefined;
    } & { [K_45 in Exclude<keyof I_1, keyof ListSessionsRequest>]: never; }>(object: I_1): ListSessionsRequest;
};
/** Represents the sort object. */
interface ListSessionsRequest_Sort {
    /** The field to sort on. */
    field: SessionField | undefined;
    /** The sort direction. */
    direction: SortDirection;
}
declare const ListSessionsRequest_Sort: {
    encode(message: ListSessionsRequest_Sort, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ListSessionsRequest_Sort;
    fromJSON(object: any): ListSessionsRequest_Sort;
    toJSON(message: ListSessionsRequest_Sort): unknown;
    create<I extends {
        field?: {
            sessionRawField?: {
                field?: SessionRawEnumField | undefined;
            } | undefined;
            taskOptionField?: {
                field?: TaskOptionEnumField | undefined;
            } | undefined;
            taskOptionGenericField?: {
                field?: string | undefined;
            } | undefined;
        } | undefined;
        direction?: SortDirection | undefined;
    } & {
        field?: ({
            sessionRawField?: {
                field?: SessionRawEnumField | undefined;
            } | undefined;
            taskOptionField?: {
                field?: TaskOptionEnumField | undefined;
            } | undefined;
            taskOptionGenericField?: {
                field?: string | undefined;
            } | undefined;
        } & {
            sessionRawField?: ({
                field?: SessionRawEnumField | undefined;
            } & {
                field?: SessionRawEnumField | undefined;
            } & { [K in Exclude<keyof I["field"]["sessionRawField"], "field">]: never; }) | undefined;
            taskOptionField?: ({
                field?: TaskOptionEnumField | undefined;
            } & {
                field?: TaskOptionEnumField | undefined;
            } & { [K_1 in Exclude<keyof I["field"]["taskOptionField"], "field">]: never; }) | undefined;
            taskOptionGenericField?: ({
                field?: string | undefined;
            } & {
                field?: string | undefined;
            } & { [K_2 in Exclude<keyof I["field"]["taskOptionGenericField"], "field">]: never; }) | undefined;
        } & { [K_3 in Exclude<keyof I["field"], keyof SessionField>]: never; }) | undefined;
        direction?: SortDirection | undefined;
    } & { [K_4 in Exclude<keyof I, keyof ListSessionsRequest_Sort>]: never; }>(base?: I | undefined): ListSessionsRequest_Sort;
    fromPartial<I_1 extends {
        field?: {
            sessionRawField?: {
                field?: SessionRawEnumField | undefined;
            } | undefined;
            taskOptionField?: {
                field?: TaskOptionEnumField | undefined;
            } | undefined;
            taskOptionGenericField?: {
                field?: string | undefined;
            } | undefined;
        } | undefined;
        direction?: SortDirection | undefined;
    } & {
        field?: ({
            sessionRawField?: {
                field?: SessionRawEnumField | undefined;
            } | undefined;
            taskOptionField?: {
                field?: TaskOptionEnumField | undefined;
            } | undefined;
            taskOptionGenericField?: {
                field?: string | undefined;
            } | undefined;
        } & {
            sessionRawField?: ({
                field?: SessionRawEnumField | undefined;
            } & {
                field?: SessionRawEnumField | undefined;
            } & { [K_5 in Exclude<keyof I_1["field"]["sessionRawField"], "field">]: never; }) | undefined;
            taskOptionField?: ({
                field?: TaskOptionEnumField | undefined;
            } & {
                field?: TaskOptionEnumField | undefined;
            } & { [K_6 in Exclude<keyof I_1["field"]["taskOptionField"], "field">]: never; }) | undefined;
            taskOptionGenericField?: ({
                field?: string | undefined;
            } & {
                field?: string | undefined;
            } & { [K_7 in Exclude<keyof I_1["field"]["taskOptionGenericField"], "field">]: never; }) | undefined;
        } & { [K_8 in Exclude<keyof I_1["field"], keyof SessionField>]: never; }) | undefined;
        direction?: SortDirection | undefined;
    } & { [K_9 in Exclude<keyof I_1, keyof ListSessionsRequest_Sort>]: never; }>(object: I_1): ListSessionsRequest_Sort;
};
/**
 * Response to list sessions.
 *
 * Use pagination, filtering and sorting from the request.
 * Return a list of summary sessions.
 */
interface ListSessionsResponse {
    /** The list of sessions. */
    sessions: SessionRaw[];
    /** The current page. Start at 0. */
    page: number;
    /** The page size. */
    pageSize: number;
    /** The total number of sessions. */
    total: number;
}
declare const ListSessionsResponse: {
    encode(message: ListSessionsResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ListSessionsResponse;
    fromJSON(object: any): ListSessionsResponse;
    toJSON(message: ListSessionsResponse): unknown;
    create<I extends {
        sessions?: {
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: string[] | undefined;
            options?: {
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        }[] | undefined;
        page?: number | undefined;
        pageSize?: number | undefined;
        total?: number | undefined;
    } & {
        sessions?: ({
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: string[] | undefined;
            options?: {
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        }[] & ({
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: string[] | undefined;
            options?: {
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        } & {
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: (string[] & string[] & { [K in Exclude<keyof I["sessions"][number]["partitionIds"], keyof string[]>]: never; }) | undefined;
            options?: ({
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } & {
                options?: ({
                    [x: string]: string | undefined;
                } & {
                    [x: string]: string | undefined;
                } & { [K_1 in Exclude<keyof I["sessions"][number]["options"]["options"], string | number>]: never; }) | undefined;
                maxDuration?: ({
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & { [K_2 in Exclude<keyof I["sessions"][number]["options"]["maxDuration"], keyof Duration>]: never; }) | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } & { [K_3 in Exclude<keyof I["sessions"][number]["options"], keyof TaskOptions>]: never; }) | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: ({
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & { [K_4 in Exclude<keyof I["sessions"][number]["duration"], keyof Duration>]: never; }) | undefined;
        } & { [K_5 in Exclude<keyof I["sessions"][number], keyof SessionRaw>]: never; })[] & { [K_6 in Exclude<keyof I["sessions"], keyof {
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: string[] | undefined;
            options?: {
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        }[]>]: never; }) | undefined;
        page?: number | undefined;
        pageSize?: number | undefined;
        total?: number | undefined;
    } & { [K_7 in Exclude<keyof I, keyof ListSessionsResponse>]: never; }>(base?: I | undefined): ListSessionsResponse;
    fromPartial<I_1 extends {
        sessions?: {
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: string[] | undefined;
            options?: {
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        }[] | undefined;
        page?: number | undefined;
        pageSize?: number | undefined;
        total?: number | undefined;
    } & {
        sessions?: ({
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: string[] | undefined;
            options?: {
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        }[] & ({
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: string[] | undefined;
            options?: {
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        } & {
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: (string[] & string[] & { [K_8 in Exclude<keyof I_1["sessions"][number]["partitionIds"], keyof string[]>]: never; }) | undefined;
            options?: ({
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } & {
                options?: ({
                    [x: string]: string | undefined;
                } & {
                    [x: string]: string | undefined;
                } & { [K_9 in Exclude<keyof I_1["sessions"][number]["options"]["options"], string | number>]: never; }) | undefined;
                maxDuration?: ({
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & { [K_10 in Exclude<keyof I_1["sessions"][number]["options"]["maxDuration"], keyof Duration>]: never; }) | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } & { [K_11 in Exclude<keyof I_1["sessions"][number]["options"], keyof TaskOptions>]: never; }) | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: ({
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & { [K_12 in Exclude<keyof I_1["sessions"][number]["duration"], keyof Duration>]: never; }) | undefined;
        } & { [K_13 in Exclude<keyof I_1["sessions"][number], keyof SessionRaw>]: never; })[] & { [K_14 in Exclude<keyof I_1["sessions"], keyof {
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: string[] | undefined;
            options?: {
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        }[]>]: never; }) | undefined;
        page?: number | undefined;
        pageSize?: number | undefined;
        total?: number | undefined;
    } & { [K_15 in Exclude<keyof I_1, keyof ListSessionsResponse>]: never; }>(object: I_1): ListSessionsResponse;
};
/** Request for getting a single session. */
interface GetSessionRequest {
    /** The session ID. */
    sessionId: string;
}
declare const GetSessionRequest: {
    encode(message: GetSessionRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): GetSessionRequest;
    fromJSON(object: any): GetSessionRequest;
    toJSON(message: GetSessionRequest): unknown;
    create<I extends {
        sessionId?: string | undefined;
    } & {
        sessionId?: string | undefined;
    } & { [K in Exclude<keyof I, "sessionId">]: never; }>(base?: I | undefined): GetSessionRequest;
    fromPartial<I_1 extends {
        sessionId?: string | undefined;
    } & {
        sessionId?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, "sessionId">]: never; }>(object: I_1): GetSessionRequest;
};
/**
 * Response for getting a single session.
 *
 * Return a raw session.
 */
interface GetSessionResponse {
    /** The session. */
    session: SessionRaw | undefined;
}
declare const GetSessionResponse: {
    encode(message: GetSessionResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): GetSessionResponse;
    fromJSON(object: any): GetSessionResponse;
    toJSON(message: GetSessionResponse): unknown;
    create<I extends {
        session?: {
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: string[] | undefined;
            options?: {
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        } | undefined;
    } & {
        session?: ({
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: string[] | undefined;
            options?: {
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        } & {
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: (string[] & string[] & { [K in Exclude<keyof I["session"]["partitionIds"], keyof string[]>]: never; }) | undefined;
            options?: ({
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } & {
                options?: ({
                    [x: string]: string | undefined;
                } & {
                    [x: string]: string | undefined;
                } & { [K_1 in Exclude<keyof I["session"]["options"]["options"], string | number>]: never; }) | undefined;
                maxDuration?: ({
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & { [K_2 in Exclude<keyof I["session"]["options"]["maxDuration"], keyof Duration>]: never; }) | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } & { [K_3 in Exclude<keyof I["session"]["options"], keyof TaskOptions>]: never; }) | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: ({
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & { [K_4 in Exclude<keyof I["session"]["duration"], keyof Duration>]: never; }) | undefined;
        } & { [K_5 in Exclude<keyof I["session"], keyof SessionRaw>]: never; }) | undefined;
    } & { [K_6 in Exclude<keyof I, "session">]: never; }>(base?: I | undefined): GetSessionResponse;
    fromPartial<I_1 extends {
        session?: {
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: string[] | undefined;
            options?: {
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        } | undefined;
    } & {
        session?: ({
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: string[] | undefined;
            options?: {
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        } & {
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: (string[] & string[] & { [K_7 in Exclude<keyof I_1["session"]["partitionIds"], keyof string[]>]: never; }) | undefined;
            options?: ({
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } & {
                options?: ({
                    [x: string]: string | undefined;
                } & {
                    [x: string]: string | undefined;
                } & { [K_8 in Exclude<keyof I_1["session"]["options"]["options"], string | number>]: never; }) | undefined;
                maxDuration?: ({
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & { [K_9 in Exclude<keyof I_1["session"]["options"]["maxDuration"], keyof Duration>]: never; }) | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } & { [K_10 in Exclude<keyof I_1["session"]["options"], keyof TaskOptions>]: never; }) | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: ({
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & { [K_11 in Exclude<keyof I_1["session"]["duration"], keyof Duration>]: never; }) | undefined;
        } & { [K_12 in Exclude<keyof I_1["session"], keyof SessionRaw>]: never; }) | undefined;
    } & { [K_13 in Exclude<keyof I_1, "session">]: never; }>(object: I_1): GetSessionResponse;
};
/** Request for cancelling a single session. */
interface CancelSessionRequest {
    /** The session ID. */
    sessionId: string;
}
declare const CancelSessionRequest: {
    encode(message: CancelSessionRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): CancelSessionRequest;
    fromJSON(object: any): CancelSessionRequest;
    toJSON(message: CancelSessionRequest): unknown;
    create<I extends {
        sessionId?: string | undefined;
    } & {
        sessionId?: string | undefined;
    } & { [K in Exclude<keyof I, "sessionId">]: never; }>(base?: I | undefined): CancelSessionRequest;
    fromPartial<I_1 extends {
        sessionId?: string | undefined;
    } & {
        sessionId?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, "sessionId">]: never; }>(object: I_1): CancelSessionRequest;
};
/**
 * Response for cancelling a single session.
 *
 * Return a raw session.
 */
interface CancelSessionResponse {
    /** The session. */
    session: SessionRaw | undefined;
}
declare const CancelSessionResponse: {
    encode(message: CancelSessionResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): CancelSessionResponse;
    fromJSON(object: any): CancelSessionResponse;
    toJSON(message: CancelSessionResponse): unknown;
    create<I extends {
        session?: {
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: string[] | undefined;
            options?: {
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        } | undefined;
    } & {
        session?: ({
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: string[] | undefined;
            options?: {
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        } & {
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: (string[] & string[] & { [K in Exclude<keyof I["session"]["partitionIds"], keyof string[]>]: never; }) | undefined;
            options?: ({
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } & {
                options?: ({
                    [x: string]: string | undefined;
                } & {
                    [x: string]: string | undefined;
                } & { [K_1 in Exclude<keyof I["session"]["options"]["options"], string | number>]: never; }) | undefined;
                maxDuration?: ({
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & { [K_2 in Exclude<keyof I["session"]["options"]["maxDuration"], keyof Duration>]: never; }) | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } & { [K_3 in Exclude<keyof I["session"]["options"], keyof TaskOptions>]: never; }) | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: ({
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & { [K_4 in Exclude<keyof I["session"]["duration"], keyof Duration>]: never; }) | undefined;
        } & { [K_5 in Exclude<keyof I["session"], keyof SessionRaw>]: never; }) | undefined;
    } & { [K_6 in Exclude<keyof I, "session">]: never; }>(base?: I | undefined): CancelSessionResponse;
    fromPartial<I_1 extends {
        session?: {
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: string[] | undefined;
            options?: {
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        } | undefined;
    } & {
        session?: ({
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: string[] | undefined;
            options?: {
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        } & {
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: (string[] & string[] & { [K_7 in Exclude<keyof I_1["session"]["partitionIds"], keyof string[]>]: never; }) | undefined;
            options?: ({
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } & {
                options?: ({
                    [x: string]: string | undefined;
                } & {
                    [x: string]: string | undefined;
                } & { [K_8 in Exclude<keyof I_1["session"]["options"]["options"], string | number>]: never; }) | undefined;
                maxDuration?: ({
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & { [K_9 in Exclude<keyof I_1["session"]["options"]["maxDuration"], keyof Duration>]: never; }) | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } & { [K_10 in Exclude<keyof I_1["session"]["options"], keyof TaskOptions>]: never; }) | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: ({
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & { [K_11 in Exclude<keyof I_1["session"]["duration"], keyof Duration>]: never; }) | undefined;
        } & { [K_12 in Exclude<keyof I_1["session"], keyof SessionRaw>]: never; }) | undefined;
    } & { [K_13 in Exclude<keyof I_1, "session">]: never; }>(object: I_1): CancelSessionResponse;
};
/** Request for creating session. */
interface CreateSessionRequest {
    /** Default tasks options for tasks in the session */
    defaultTaskOption: TaskOptions | undefined;
    /** List of partitions allowed during the session */
    partitionIds: string[];
}
declare const CreateSessionRequest: {
    encode(message: CreateSessionRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): CreateSessionRequest;
    fromJSON(object: any): CreateSessionRequest;
    toJSON(message: CreateSessionRequest): unknown;
    create<I extends {
        defaultTaskOption?: {
            options?: {
                [x: string]: string | undefined;
            } | undefined;
            maxDuration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
            maxRetries?: number | undefined;
            priority?: number | undefined;
            partitionId?: string | undefined;
            applicationName?: string | undefined;
            applicationVersion?: string | undefined;
            applicationNamespace?: string | undefined;
            applicationService?: string | undefined;
            engineType?: string | undefined;
        } | undefined;
        partitionIds?: string[] | undefined;
    } & {
        defaultTaskOption?: ({
            options?: {
                [x: string]: string | undefined;
            } | undefined;
            maxDuration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
            maxRetries?: number | undefined;
            priority?: number | undefined;
            partitionId?: string | undefined;
            applicationName?: string | undefined;
            applicationVersion?: string | undefined;
            applicationNamespace?: string | undefined;
            applicationService?: string | undefined;
            engineType?: string | undefined;
        } & {
            options?: ({
                [x: string]: string | undefined;
            } & {
                [x: string]: string | undefined;
            } & { [K in Exclude<keyof I["defaultTaskOption"]["options"], string | number>]: never; }) | undefined;
            maxDuration?: ({
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & { [K_1 in Exclude<keyof I["defaultTaskOption"]["maxDuration"], keyof Duration>]: never; }) | undefined;
            maxRetries?: number | undefined;
            priority?: number | undefined;
            partitionId?: string | undefined;
            applicationName?: string | undefined;
            applicationVersion?: string | undefined;
            applicationNamespace?: string | undefined;
            applicationService?: string | undefined;
            engineType?: string | undefined;
        } & { [K_2 in Exclude<keyof I["defaultTaskOption"], keyof TaskOptions>]: never; }) | undefined;
        partitionIds?: (string[] & string[] & { [K_3 in Exclude<keyof I["partitionIds"], keyof string[]>]: never; }) | undefined;
    } & { [K_4 in Exclude<keyof I, keyof CreateSessionRequest>]: never; }>(base?: I | undefined): CreateSessionRequest;
    fromPartial<I_1 extends {
        defaultTaskOption?: {
            options?: {
                [x: string]: string | undefined;
            } | undefined;
            maxDuration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
            maxRetries?: number | undefined;
            priority?: number | undefined;
            partitionId?: string | undefined;
            applicationName?: string | undefined;
            applicationVersion?: string | undefined;
            applicationNamespace?: string | undefined;
            applicationService?: string | undefined;
            engineType?: string | undefined;
        } | undefined;
        partitionIds?: string[] | undefined;
    } & {
        defaultTaskOption?: ({
            options?: {
                [x: string]: string | undefined;
            } | undefined;
            maxDuration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
            maxRetries?: number | undefined;
            priority?: number | undefined;
            partitionId?: string | undefined;
            applicationName?: string | undefined;
            applicationVersion?: string | undefined;
            applicationNamespace?: string | undefined;
            applicationService?: string | undefined;
            engineType?: string | undefined;
        } & {
            options?: ({
                [x: string]: string | undefined;
            } & {
                [x: string]: string | undefined;
            } & { [K_5 in Exclude<keyof I_1["defaultTaskOption"]["options"], string | number>]: never; }) | undefined;
            maxDuration?: ({
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & { [K_6 in Exclude<keyof I_1["defaultTaskOption"]["maxDuration"], keyof Duration>]: never; }) | undefined;
            maxRetries?: number | undefined;
            priority?: number | undefined;
            partitionId?: string | undefined;
            applicationName?: string | undefined;
            applicationVersion?: string | undefined;
            applicationNamespace?: string | undefined;
            applicationService?: string | undefined;
            engineType?: string | undefined;
        } & { [K_7 in Exclude<keyof I_1["defaultTaskOption"], keyof TaskOptions>]: never; }) | undefined;
        partitionIds?: (string[] & string[] & { [K_8 in Exclude<keyof I_1["partitionIds"], keyof string[]>]: never; }) | undefined;
    } & { [K_9 in Exclude<keyof I_1, keyof CreateSessionRequest>]: never; }>(object: I_1): CreateSessionRequest;
};
/**
 * Reply after session creation.
 * We have this reply in case of success.
 * When the session creation is not successful, there is an rpc exception.
 */
interface CreateSessionReply {
    /** Session id of the created session if successful */
    sessionId: string;
}
declare const CreateSessionReply: {
    encode(message: CreateSessionReply, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): CreateSessionReply;
    fromJSON(object: any): CreateSessionReply;
    toJSON(message: CreateSessionReply): unknown;
    create<I extends {
        sessionId?: string | undefined;
    } & {
        sessionId?: string | undefined;
    } & { [K in Exclude<keyof I, "sessionId">]: never; }>(base?: I | undefined): CreateSessionReply;
    fromPartial<I_1 extends {
        sessionId?: string | undefined;
    } & {
        sessionId?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, "sessionId">]: never; }>(object: I_1): CreateSessionReply;
};
/** Request for pausing a single session. */
interface PauseSessionRequest {
    /** The session ID. */
    sessionId: string;
}
declare const PauseSessionRequest: {
    encode(message: PauseSessionRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): PauseSessionRequest;
    fromJSON(object: any): PauseSessionRequest;
    toJSON(message: PauseSessionRequest): unknown;
    create<I extends {
        sessionId?: string | undefined;
    } & {
        sessionId?: string | undefined;
    } & { [K in Exclude<keyof I, "sessionId">]: never; }>(base?: I | undefined): PauseSessionRequest;
    fromPartial<I_1 extends {
        sessionId?: string | undefined;
    } & {
        sessionId?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, "sessionId">]: never; }>(object: I_1): PauseSessionRequest;
};
/**
 * Response for pausing a single session.
 *
 * Return a raw session.
 */
interface PauseSessionResponse {
    /** The session. */
    session: SessionRaw | undefined;
}
declare const PauseSessionResponse: {
    encode(message: PauseSessionResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): PauseSessionResponse;
    fromJSON(object: any): PauseSessionResponse;
    toJSON(message: PauseSessionResponse): unknown;
    create<I extends {
        session?: {
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: string[] | undefined;
            options?: {
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        } | undefined;
    } & {
        session?: ({
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: string[] | undefined;
            options?: {
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        } & {
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: (string[] & string[] & { [K in Exclude<keyof I["session"]["partitionIds"], keyof string[]>]: never; }) | undefined;
            options?: ({
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } & {
                options?: ({
                    [x: string]: string | undefined;
                } & {
                    [x: string]: string | undefined;
                } & { [K_1 in Exclude<keyof I["session"]["options"]["options"], string | number>]: never; }) | undefined;
                maxDuration?: ({
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & { [K_2 in Exclude<keyof I["session"]["options"]["maxDuration"], keyof Duration>]: never; }) | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } & { [K_3 in Exclude<keyof I["session"]["options"], keyof TaskOptions>]: never; }) | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: ({
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & { [K_4 in Exclude<keyof I["session"]["duration"], keyof Duration>]: never; }) | undefined;
        } & { [K_5 in Exclude<keyof I["session"], keyof SessionRaw>]: never; }) | undefined;
    } & { [K_6 in Exclude<keyof I, "session">]: never; }>(base?: I | undefined): PauseSessionResponse;
    fromPartial<I_1 extends {
        session?: {
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: string[] | undefined;
            options?: {
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        } | undefined;
    } & {
        session?: ({
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: string[] | undefined;
            options?: {
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        } & {
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: (string[] & string[] & { [K_7 in Exclude<keyof I_1["session"]["partitionIds"], keyof string[]>]: never; }) | undefined;
            options?: ({
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } & {
                options?: ({
                    [x: string]: string | undefined;
                } & {
                    [x: string]: string | undefined;
                } & { [K_8 in Exclude<keyof I_1["session"]["options"]["options"], string | number>]: never; }) | undefined;
                maxDuration?: ({
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & { [K_9 in Exclude<keyof I_1["session"]["options"]["maxDuration"], keyof Duration>]: never; }) | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } & { [K_10 in Exclude<keyof I_1["session"]["options"], keyof TaskOptions>]: never; }) | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: ({
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & { [K_11 in Exclude<keyof I_1["session"]["duration"], keyof Duration>]: never; }) | undefined;
        } & { [K_12 in Exclude<keyof I_1["session"], keyof SessionRaw>]: never; }) | undefined;
    } & { [K_13 in Exclude<keyof I_1, "session">]: never; }>(object: I_1): PauseSessionResponse;
};
/** Request for resuming a single session. */
interface ResumeSessionRequest {
    /** The session ID. */
    sessionId: string;
}
declare const ResumeSessionRequest: {
    encode(message: ResumeSessionRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ResumeSessionRequest;
    fromJSON(object: any): ResumeSessionRequest;
    toJSON(message: ResumeSessionRequest): unknown;
    create<I extends {
        sessionId?: string | undefined;
    } & {
        sessionId?: string | undefined;
    } & { [K in Exclude<keyof I, "sessionId">]: never; }>(base?: I | undefined): ResumeSessionRequest;
    fromPartial<I_1 extends {
        sessionId?: string | undefined;
    } & {
        sessionId?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, "sessionId">]: never; }>(object: I_1): ResumeSessionRequest;
};
/**
 * Response for resuming a single session.
 *
 * Return a raw session.
 */
interface ResumeSessionResponse {
    /** The session. */
    session: SessionRaw | undefined;
}
declare const ResumeSessionResponse: {
    encode(message: ResumeSessionResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ResumeSessionResponse;
    fromJSON(object: any): ResumeSessionResponse;
    toJSON(message: ResumeSessionResponse): unknown;
    create<I extends {
        session?: {
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: string[] | undefined;
            options?: {
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        } | undefined;
    } & {
        session?: ({
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: string[] | undefined;
            options?: {
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        } & {
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: (string[] & string[] & { [K in Exclude<keyof I["session"]["partitionIds"], keyof string[]>]: never; }) | undefined;
            options?: ({
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } & {
                options?: ({
                    [x: string]: string | undefined;
                } & {
                    [x: string]: string | undefined;
                } & { [K_1 in Exclude<keyof I["session"]["options"]["options"], string | number>]: never; }) | undefined;
                maxDuration?: ({
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & { [K_2 in Exclude<keyof I["session"]["options"]["maxDuration"], keyof Duration>]: never; }) | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } & { [K_3 in Exclude<keyof I["session"]["options"], keyof TaskOptions>]: never; }) | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: ({
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & { [K_4 in Exclude<keyof I["session"]["duration"], keyof Duration>]: never; }) | undefined;
        } & { [K_5 in Exclude<keyof I["session"], keyof SessionRaw>]: never; }) | undefined;
    } & { [K_6 in Exclude<keyof I, "session">]: never; }>(base?: I | undefined): ResumeSessionResponse;
    fromPartial<I_1 extends {
        session?: {
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: string[] | undefined;
            options?: {
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        } | undefined;
    } & {
        session?: ({
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: string[] | undefined;
            options?: {
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        } & {
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: (string[] & string[] & { [K_7 in Exclude<keyof I_1["session"]["partitionIds"], keyof string[]>]: never; }) | undefined;
            options?: ({
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } & {
                options?: ({
                    [x: string]: string | undefined;
                } & {
                    [x: string]: string | undefined;
                } & { [K_8 in Exclude<keyof I_1["session"]["options"]["options"], string | number>]: never; }) | undefined;
                maxDuration?: ({
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & { [K_9 in Exclude<keyof I_1["session"]["options"]["maxDuration"], keyof Duration>]: never; }) | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } & { [K_10 in Exclude<keyof I_1["session"]["options"], keyof TaskOptions>]: never; }) | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: ({
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & { [K_11 in Exclude<keyof I_1["session"]["duration"], keyof Duration>]: never; }) | undefined;
        } & { [K_12 in Exclude<keyof I_1["session"], keyof SessionRaw>]: never; }) | undefined;
    } & { [K_13 in Exclude<keyof I_1, "session">]: never; }>(object: I_1): ResumeSessionResponse;
};
/** Request for closing a single session. */
interface CloseSessionRequest {
    /** The session ID. */
    sessionId: string;
}
declare const CloseSessionRequest: {
    encode(message: CloseSessionRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): CloseSessionRequest;
    fromJSON(object: any): CloseSessionRequest;
    toJSON(message: CloseSessionRequest): unknown;
    create<I extends {
        sessionId?: string | undefined;
    } & {
        sessionId?: string | undefined;
    } & { [K in Exclude<keyof I, "sessionId">]: never; }>(base?: I | undefined): CloseSessionRequest;
    fromPartial<I_1 extends {
        sessionId?: string | undefined;
    } & {
        sessionId?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, "sessionId">]: never; }>(object: I_1): CloseSessionRequest;
};
/**
 * Response for closing a single session.
 *
 * Return a raw session.
 */
interface CloseSessionResponse {
    /** The session. */
    session: SessionRaw | undefined;
}
declare const CloseSessionResponse: {
    encode(message: CloseSessionResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): CloseSessionResponse;
    fromJSON(object: any): CloseSessionResponse;
    toJSON(message: CloseSessionResponse): unknown;
    create<I extends {
        session?: {
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: string[] | undefined;
            options?: {
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        } | undefined;
    } & {
        session?: ({
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: string[] | undefined;
            options?: {
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        } & {
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: (string[] & string[] & { [K in Exclude<keyof I["session"]["partitionIds"], keyof string[]>]: never; }) | undefined;
            options?: ({
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } & {
                options?: ({
                    [x: string]: string | undefined;
                } & {
                    [x: string]: string | undefined;
                } & { [K_1 in Exclude<keyof I["session"]["options"]["options"], string | number>]: never; }) | undefined;
                maxDuration?: ({
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & { [K_2 in Exclude<keyof I["session"]["options"]["maxDuration"], keyof Duration>]: never; }) | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } & { [K_3 in Exclude<keyof I["session"]["options"], keyof TaskOptions>]: never; }) | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: ({
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & { [K_4 in Exclude<keyof I["session"]["duration"], keyof Duration>]: never; }) | undefined;
        } & { [K_5 in Exclude<keyof I["session"], keyof SessionRaw>]: never; }) | undefined;
    } & { [K_6 in Exclude<keyof I, "session">]: never; }>(base?: I | undefined): CloseSessionResponse;
    fromPartial<I_1 extends {
        session?: {
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: string[] | undefined;
            options?: {
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        } | undefined;
    } & {
        session?: ({
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: string[] | undefined;
            options?: {
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        } & {
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: (string[] & string[] & { [K_7 in Exclude<keyof I_1["session"]["partitionIds"], keyof string[]>]: never; }) | undefined;
            options?: ({
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } & {
                options?: ({
                    [x: string]: string | undefined;
                } & {
                    [x: string]: string | undefined;
                } & { [K_8 in Exclude<keyof I_1["session"]["options"]["options"], string | number>]: never; }) | undefined;
                maxDuration?: ({
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & { [K_9 in Exclude<keyof I_1["session"]["options"]["maxDuration"], keyof Duration>]: never; }) | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } & { [K_10 in Exclude<keyof I_1["session"]["options"], keyof TaskOptions>]: never; }) | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: ({
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & { [K_11 in Exclude<keyof I_1["session"]["duration"], keyof Duration>]: never; }) | undefined;
        } & { [K_12 in Exclude<keyof I_1["session"], keyof SessionRaw>]: never; }) | undefined;
    } & { [K_13 in Exclude<keyof I_1, "session">]: never; }>(object: I_1): CloseSessionResponse;
};
/** Request for purging a single session. */
interface PurgeSessionRequest {
    /** The session ID. */
    sessionId: string;
}
declare const PurgeSessionRequest: {
    encode(message: PurgeSessionRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): PurgeSessionRequest;
    fromJSON(object: any): PurgeSessionRequest;
    toJSON(message: PurgeSessionRequest): unknown;
    create<I extends {
        sessionId?: string | undefined;
    } & {
        sessionId?: string | undefined;
    } & { [K in Exclude<keyof I, "sessionId">]: never; }>(base?: I | undefined): PurgeSessionRequest;
    fromPartial<I_1 extends {
        sessionId?: string | undefined;
    } & {
        sessionId?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, "sessionId">]: never; }>(object: I_1): PurgeSessionRequest;
};
/**
 * Response for purging a single session.
 *
 * Return a raw session.
 */
interface PurgeSessionResponse {
    /** The session. */
    session: SessionRaw | undefined;
}
declare const PurgeSessionResponse: {
    encode(message: PurgeSessionResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): PurgeSessionResponse;
    fromJSON(object: any): PurgeSessionResponse;
    toJSON(message: PurgeSessionResponse): unknown;
    create<I extends {
        session?: {
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: string[] | undefined;
            options?: {
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        } | undefined;
    } & {
        session?: ({
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: string[] | undefined;
            options?: {
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        } & {
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: (string[] & string[] & { [K in Exclude<keyof I["session"]["partitionIds"], keyof string[]>]: never; }) | undefined;
            options?: ({
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } & {
                options?: ({
                    [x: string]: string | undefined;
                } & {
                    [x: string]: string | undefined;
                } & { [K_1 in Exclude<keyof I["session"]["options"]["options"], string | number>]: never; }) | undefined;
                maxDuration?: ({
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & { [K_2 in Exclude<keyof I["session"]["options"]["maxDuration"], keyof Duration>]: never; }) | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } & { [K_3 in Exclude<keyof I["session"]["options"], keyof TaskOptions>]: never; }) | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: ({
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & { [K_4 in Exclude<keyof I["session"]["duration"], keyof Duration>]: never; }) | undefined;
        } & { [K_5 in Exclude<keyof I["session"], keyof SessionRaw>]: never; }) | undefined;
    } & { [K_6 in Exclude<keyof I, "session">]: never; }>(base?: I | undefined): PurgeSessionResponse;
    fromPartial<I_1 extends {
        session?: {
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: string[] | undefined;
            options?: {
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        } | undefined;
    } & {
        session?: ({
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: string[] | undefined;
            options?: {
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        } & {
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: (string[] & string[] & { [K_7 in Exclude<keyof I_1["session"]["partitionIds"], keyof string[]>]: never; }) | undefined;
            options?: ({
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } & {
                options?: ({
                    [x: string]: string | undefined;
                } & {
                    [x: string]: string | undefined;
                } & { [K_8 in Exclude<keyof I_1["session"]["options"]["options"], string | number>]: never; }) | undefined;
                maxDuration?: ({
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & { [K_9 in Exclude<keyof I_1["session"]["options"]["maxDuration"], keyof Duration>]: never; }) | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } & { [K_10 in Exclude<keyof I_1["session"]["options"], keyof TaskOptions>]: never; }) | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: ({
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & { [K_11 in Exclude<keyof I_1["session"]["duration"], keyof Duration>]: never; }) | undefined;
        } & { [K_12 in Exclude<keyof I_1["session"], keyof SessionRaw>]: never; }) | undefined;
    } & { [K_13 in Exclude<keyof I_1, "session">]: never; }>(object: I_1): PurgeSessionResponse;
};
/** Request for deleting a single session. */
interface DeleteSessionRequest {
    /** The session ID. */
    sessionId: string;
}
declare const DeleteSessionRequest: {
    encode(message: DeleteSessionRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): DeleteSessionRequest;
    fromJSON(object: any): DeleteSessionRequest;
    toJSON(message: DeleteSessionRequest): unknown;
    create<I extends {
        sessionId?: string | undefined;
    } & {
        sessionId?: string | undefined;
    } & { [K in Exclude<keyof I, "sessionId">]: never; }>(base?: I | undefined): DeleteSessionRequest;
    fromPartial<I_1 extends {
        sessionId?: string | undefined;
    } & {
        sessionId?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, "sessionId">]: never; }>(object: I_1): DeleteSessionRequest;
};
/**
 * Response for deleting a single session.
 *
 * Return a raw session.
 */
interface DeleteSessionResponse {
    /** The session. */
    session: SessionRaw | undefined;
}
declare const DeleteSessionResponse: {
    encode(message: DeleteSessionResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): DeleteSessionResponse;
    fromJSON(object: any): DeleteSessionResponse;
    toJSON(message: DeleteSessionResponse): unknown;
    create<I extends {
        session?: {
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: string[] | undefined;
            options?: {
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        } | undefined;
    } & {
        session?: ({
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: string[] | undefined;
            options?: {
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        } & {
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: (string[] & string[] & { [K in Exclude<keyof I["session"]["partitionIds"], keyof string[]>]: never; }) | undefined;
            options?: ({
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } & {
                options?: ({
                    [x: string]: string | undefined;
                } & {
                    [x: string]: string | undefined;
                } & { [K_1 in Exclude<keyof I["session"]["options"]["options"], string | number>]: never; }) | undefined;
                maxDuration?: ({
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & { [K_2 in Exclude<keyof I["session"]["options"]["maxDuration"], keyof Duration>]: never; }) | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } & { [K_3 in Exclude<keyof I["session"]["options"], keyof TaskOptions>]: never; }) | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: ({
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & { [K_4 in Exclude<keyof I["session"]["duration"], keyof Duration>]: never; }) | undefined;
        } & { [K_5 in Exclude<keyof I["session"], keyof SessionRaw>]: never; }) | undefined;
    } & { [K_6 in Exclude<keyof I, "session">]: never; }>(base?: I | undefined): DeleteSessionResponse;
    fromPartial<I_1 extends {
        session?: {
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: string[] | undefined;
            options?: {
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        } | undefined;
    } & {
        session?: ({
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: string[] | undefined;
            options?: {
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        } & {
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: (string[] & string[] & { [K_7 in Exclude<keyof I_1["session"]["partitionIds"], keyof string[]>]: never; }) | undefined;
            options?: ({
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } & {
                options?: ({
                    [x: string]: string | undefined;
                } & {
                    [x: string]: string | undefined;
                } & { [K_8 in Exclude<keyof I_1["session"]["options"]["options"], string | number>]: never; }) | undefined;
                maxDuration?: ({
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & { [K_9 in Exclude<keyof I_1["session"]["options"]["maxDuration"], keyof Duration>]: never; }) | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } & { [K_10 in Exclude<keyof I_1["session"]["options"], keyof TaskOptions>]: never; }) | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: ({
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & { [K_11 in Exclude<keyof I_1["session"]["duration"], keyof Duration>]: never; }) | undefined;
        } & { [K_12 in Exclude<keyof I_1["session"], keyof SessionRaw>]: never; }) | undefined;
    } & { [K_13 in Exclude<keyof I_1, "session">]: never; }>(object: I_1): DeleteSessionResponse;
};
/** Request for stopping new tasks submissions from clients or workers in the given session. */
interface StopSubmissionRequest {
    /** The session ID. */
    sessionId: string;
    /** Whether to stop client submission. */
    client: boolean;
    /** Whether to stop worker submission. */
    worker: boolean;
}
declare const StopSubmissionRequest: {
    encode(message: StopSubmissionRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): StopSubmissionRequest;
    fromJSON(object: any): StopSubmissionRequest;
    toJSON(message: StopSubmissionRequest): unknown;
    create<I extends {
        sessionId?: string | undefined;
        client?: boolean | undefined;
        worker?: boolean | undefined;
    } & {
        sessionId?: string | undefined;
        client?: boolean | undefined;
        worker?: boolean | undefined;
    } & { [K in Exclude<keyof I, keyof StopSubmissionRequest>]: never; }>(base?: I | undefined): StopSubmissionRequest;
    fromPartial<I_1 extends {
        sessionId?: string | undefined;
        client?: boolean | undefined;
        worker?: boolean | undefined;
    } & {
        sessionId?: string | undefined;
        client?: boolean | undefined;
        worker?: boolean | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof StopSubmissionRequest>]: never; }>(object: I_1): StopSubmissionRequest;
};
/**
 * Response for stopping new tasks submissions from clients or workers in the given session.
 *
 * Return a raw session.
 */
interface StopSubmissionResponse {
    /** The session. */
    session: SessionRaw | undefined;
}
declare const StopSubmissionResponse: {
    encode(message: StopSubmissionResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): StopSubmissionResponse;
    fromJSON(object: any): StopSubmissionResponse;
    toJSON(message: StopSubmissionResponse): unknown;
    create<I extends {
        session?: {
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: string[] | undefined;
            options?: {
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        } | undefined;
    } & {
        session?: ({
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: string[] | undefined;
            options?: {
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        } & {
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: (string[] & string[] & { [K in Exclude<keyof I["session"]["partitionIds"], keyof string[]>]: never; }) | undefined;
            options?: ({
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } & {
                options?: ({
                    [x: string]: string | undefined;
                } & {
                    [x: string]: string | undefined;
                } & { [K_1 in Exclude<keyof I["session"]["options"]["options"], string | number>]: never; }) | undefined;
                maxDuration?: ({
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & { [K_2 in Exclude<keyof I["session"]["options"]["maxDuration"], keyof Duration>]: never; }) | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } & { [K_3 in Exclude<keyof I["session"]["options"], keyof TaskOptions>]: never; }) | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: ({
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & { [K_4 in Exclude<keyof I["session"]["duration"], keyof Duration>]: never; }) | undefined;
        } & { [K_5 in Exclude<keyof I["session"], keyof SessionRaw>]: never; }) | undefined;
    } & { [K_6 in Exclude<keyof I, "session">]: never; }>(base?: I | undefined): StopSubmissionResponse;
    fromPartial<I_1 extends {
        session?: {
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: string[] | undefined;
            options?: {
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        } | undefined;
    } & {
        session?: ({
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: string[] | undefined;
            options?: {
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        } & {
            sessionId?: string | undefined;
            status?: SessionStatus | undefined;
            clientSubmission?: boolean | undefined;
            workerSubmission?: boolean | undefined;
            partitionIds?: (string[] & string[] & { [K_7 in Exclude<keyof I_1["session"]["partitionIds"], keyof string[]>]: never; }) | undefined;
            options?: ({
                options?: {
                    [x: string]: string | undefined;
                } | undefined;
                maxDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } & {
                options?: ({
                    [x: string]: string | undefined;
                } & {
                    [x: string]: string | undefined;
                } & { [K_8 in Exclude<keyof I_1["session"]["options"]["options"], string | number>]: never; }) | undefined;
                maxDuration?: ({
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & { [K_9 in Exclude<keyof I_1["session"]["options"]["maxDuration"], keyof Duration>]: never; }) | undefined;
                maxRetries?: number | undefined;
                priority?: number | undefined;
                partitionId?: string | undefined;
                applicationName?: string | undefined;
                applicationVersion?: string | undefined;
                applicationNamespace?: string | undefined;
                applicationService?: string | undefined;
                engineType?: string | undefined;
            } & { [K_10 in Exclude<keyof I_1["session"]["options"], keyof TaskOptions>]: never; }) | undefined;
            createdAt?: Date | undefined;
            cancelledAt?: Date | undefined;
            closedAt?: Date | undefined;
            purgedAt?: Date | undefined;
            deletedAt?: Date | undefined;
            duration?: ({
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & { [K_11 in Exclude<keyof I_1["session"]["duration"], keyof Duration>]: never; }) | undefined;
        } & { [K_12 in Exclude<keyof I_1["session"], keyof SessionRaw>]: never; }) | undefined;
    } & { [K_13 in Exclude<keyof I_1, "session">]: never; }>(object: I_1): StopSubmissionResponse;
};
type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
type DeepPartial<T> = T extends Builtin ? T : T extends Array<infer U> ? Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? {
    [K in keyof T]?: DeepPartial<T[K]>;
} : Partial<T>;
type KeysOfUnion<T> = T extends T ? keyof T : never;
type Exact<P, I extends P> = P extends Builtin ? P : P & {
    [K in keyof P]: Exact<P[K], I[K]>;
} & {
    [K in Exclude<keyof I, KeysOfUnion<P>>]: never;
};

export { CancelSessionRequest, CancelSessionResponse, CloseSessionRequest, CloseSessionResponse, CreateSessionReply, CreateSessionRequest, DeepPartial, DeleteSessionRequest, DeleteSessionResponse, Exact, GetSessionRequest, GetSessionResponse, ListSessionsRequest, ListSessionsRequest_Sort, ListSessionsResponse, PauseSessionRequest, PauseSessionResponse, PurgeSessionRequest, PurgeSessionResponse, ResumeSessionRequest, ResumeSessionResponse, SessionRaw, StopSubmissionRequest, StopSubmissionResponse, protobufPackage };
