import _m0 from 'protobufjs/minimal';
import { Duration } from '../../../../../google/protobuf/duration';
export declare const protobufPackage = "yandex.cloud.serverless.eventrouter.v1";
export interface Rule {
    /** ID of the rule. */
    id: string;
    /** ID of the bus that the rule belongs to. */
    busId: string;
    /** ID of the folder that the rule resides in. */
    folderId: string;
    /** ID of the cloud that the rule resides in. */
    cloudId: string;
    /** Creation timestamp. */
    createdAt?: Date;
    /** Name of the rule. */
    name: string;
    /** Description of the rule. */
    description: string;
    /** Resource labels as `key:value` pairs. */
    labels: {
        [key: string]: string;
    };
    /** Filter for the rule. */
    filter?: Filter;
    /** Targets of the rule. */
    targets: Target[];
    /** Flag that disallow deletion of the rule. */
    deletionProtection: boolean;
    /** Rule status */
    status: Rule_Status;
}
export declare enum Rule_Status {
    STATUS_UNSPECIFIED = 0,
    /** CREATING - Rule creation in progress, rule is not enabled yet */
    CREATING = 1,
    /** ENABLED - Rule is operating */
    ENABLED = 2,
    /** UPDATING - Rule update in progress, rule is disabled during update */
    UPDATING = 3,
    /** DISABLED - Rule is explicitly disabled by the user */
    DISABLED = 4,
    /** DELETING - Rule deletion in progress */
    DELETING = 5,
    UNRECOGNIZED = -1
}
export declare function rule_StatusFromJSON(object: any): Rule_Status;
export declare function rule_StatusToJSON(object: Rule_Status): string;
export interface Rule_LabelsEntry {
    key: string;
    value: string;
}
export interface Filter {
    /** JQ filter for matching events. */
    jqFilter: string | undefined;
}
export interface Transformer {
    /** JQ string inrerpolation expression for changing event format. */
    jqTransformer: string | undefined;
}
export interface Target {
    yds?: YdsTarget | undefined;
    ymq?: YmqTarget | undefined;
    function?: FunctionTarget | undefined;
    container?: ContainerTarget | undefined;
    gatewayWsBroadcast?: GatewayWebsocketBroadcastTarget | undefined;
    logging?: LoggingTarget | undefined;
    workflow?: WorkflowTarget | undefined;
    /** Transformer of the target. */
    transformer?: Transformer;
    /** Retry settings of the target. */
    retrySettings?: RetrySettings;
    /** Dead letter queue. */
    deadLetterQueue?: PutQueueMessage | undefined;
    /** Status of the target. */
    status: Target_Status;
}
/** Status of the target. */
export declare enum Target_Status {
    STATUS_UNSPECIFIED = 0,
    /** ENABLED - Target is enabled. */
    ENABLED = 1,
    /** DISABLED - Target is disabled. */
    DISABLED = 2,
    /** RESOURCE_NOT_FOUND - Target does not exist. */
    RESOURCE_NOT_FOUND = 3,
    /** PERMISSION_DENIED - Service account does not have read permission on source. */
    PERMISSION_DENIED = 4,
    /** SUBJECT_NOT_FOUND - Service account not found. */
    SUBJECT_NOT_FOUND = 5,
    UNRECOGNIZED = -1
}
export declare function target_StatusFromJSON(object: any): Target_Status;
export declare function target_StatusToJSON(object: Target_Status): string;
export interface YdsTarget {
    /** Stream database. */
    database: string;
    /** Full stream name, like /ru-central1/aoegtvhtp8ob******** /cc8004q4lbo6******** /test. */
    streamName: string;
    /** Service account, which has write permission on the stream. */
    serviceAccountId: string;
}
export interface YmqTarget {
    /**
     * Queue ARN.
     * Example: yrn:yc:ymq:ru-central1:aoe***:test
     */
    queueArn: string;
    /** Service account which has write access to the queue. */
    serviceAccountId: string;
}
export interface FunctionTarget {
    /** Function ID. */
    functionId: string;
    /** Function tag, optional. */
    functionTag: string;
    /** Service account which has call permission on the function, optional. */
    serviceAccountId: string;
    /** Batch settings. */
    batchSettings?: BatchSettings;
}
export interface ContainerTarget {
    /** Container ID. */
    containerId: string;
    /** Container revision ID. */
    containerRevisionId: string;
    /** Endpoint HTTP path to invoke. */
    path: string;
    /** Service account which should be used to call a container, optional. */
    serviceAccountId: string;
    /** Batch settings. */
    batchSettings?: BatchSettings;
}
export interface GatewayWebsocketBroadcastTarget {
    /** Gateway ID. */
    gatewayId: string;
    /** Path. */
    path: string;
    /** Service account which has permission for writing to websockets. */
    serviceAccountId: string;
    /** Batch settings. */
    batchSettings?: BatchSettings;
}
export interface LoggingTarget {
    logGroupId: string | undefined;
    folderId: string | undefined;
    /** Service account which has permission for writing logs. */
    serviceAccountId: string;
}
export interface WorkflowTarget {
    /** Workflow ID. */
    workflowId: string;
    /** SA which should be used to start workflow. */
    serviceAccountId: string;
    /** Batch settings. */
    batchSettings?: BatchSettings;
}
export interface RetrySettings {
    /** Maximum number of retries (extra calls) before an action fails. */
    retryAttempts: number;
    /** Event goes to dlq when its age exceeds this value. Default is 24h. */
    maximumAge?: Duration;
}
export interface PutQueueMessage {
    /** ID of the queue. */
    queueArn: string;
    /** Service account which has write permission on the queue. */
    serviceAccountId: string;
}
export interface BatchSettings {
    /** Maximum batch size: trigger will send a batch if number of events exceeds this value. */
    maxCount: number;
    /** Maximum batch size: trigger will send a batch if total size of events exceeds this value. */
    maxBytes: number;
    /** Maximum batch size: trigger will send a batch if its lifetime exceeds this value. */
    cutoff?: Duration;
}
export declare const Rule: {
    encode(message: Rule, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Rule;
    fromJSON(object: any): Rule;
    toJSON(message: Rule): unknown;
    fromPartial<I extends {
        id?: string | undefined;
        busId?: string | undefined;
        folderId?: string | undefined;
        cloudId?: string | undefined;
        createdAt?: Date | undefined;
        name?: string | undefined;
        description?: string | undefined;
        labels?: {
            [x: string]: string | undefined;
        } | undefined;
        filter?: {
            jqFilter?: string | undefined;
        } | undefined;
        targets?: {
            yds?: {
                database?: string | undefined;
                streamName?: string | undefined;
                serviceAccountId?: string | undefined;
            } | undefined;
            ymq?: {
                queueArn?: string | undefined;
                serviceAccountId?: string | undefined;
            } | undefined;
            function?: {
                functionId?: string | undefined;
                functionTag?: string | undefined;
                serviceAccountId?: string | undefined;
                batchSettings?: {
                    maxCount?: number | undefined;
                    maxBytes?: number | undefined;
                    cutoff?: {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } | undefined;
                } | undefined;
            } | undefined;
            container?: {
                containerId?: string | undefined;
                containerRevisionId?: string | undefined;
                path?: string | undefined;
                serviceAccountId?: string | undefined;
                batchSettings?: {
                    maxCount?: number | undefined;
                    maxBytes?: number | undefined;
                    cutoff?: {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } | undefined;
                } | undefined;
            } | undefined;
            gatewayWsBroadcast?: {
                gatewayId?: string | undefined;
                path?: string | undefined;
                serviceAccountId?: string | undefined;
                batchSettings?: {
                    maxCount?: number | undefined;
                    maxBytes?: number | undefined;
                    cutoff?: {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } | undefined;
                } | undefined;
            } | undefined;
            logging?: {
                logGroupId?: string | undefined;
                folderId?: string | undefined;
                serviceAccountId?: string | undefined;
            } | undefined;
            workflow?: {
                workflowId?: string | undefined;
                serviceAccountId?: string | undefined;
                batchSettings?: {
                    maxCount?: number | undefined;
                    maxBytes?: number | undefined;
                    cutoff?: {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } | undefined;
                } | undefined;
            } | undefined;
            transformer?: {
                jqTransformer?: string | undefined;
            } | undefined;
            retrySettings?: {
                retryAttempts?: number | undefined;
                maximumAge?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
            } | undefined;
            deadLetterQueue?: {
                queueArn?: string | undefined;
                serviceAccountId?: string | undefined;
            } | undefined;
            status?: Target_Status | undefined;
        }[] | undefined;
        deletionProtection?: boolean | undefined;
        status?: Rule_Status | undefined;
    } & {
        id?: string | undefined;
        busId?: string | undefined;
        folderId?: string | undefined;
        cloudId?: string | undefined;
        createdAt?: Date | undefined;
        name?: string | undefined;
        description?: string | undefined;
        labels?: ({
            [x: string]: string | undefined;
        } & {
            [x: string]: string | undefined;
        } & Record<Exclude<keyof I["labels"], string | number>, never>) | undefined;
        filter?: ({
            jqFilter?: string | undefined;
        } & {
            jqFilter?: string | undefined;
        } & Record<Exclude<keyof I["filter"], "jqFilter">, never>) | undefined;
        targets?: ({
            yds?: {
                database?: string | undefined;
                streamName?: string | undefined;
                serviceAccountId?: string | undefined;
            } | undefined;
            ymq?: {
                queueArn?: string | undefined;
                serviceAccountId?: string | undefined;
            } | undefined;
            function?: {
                functionId?: string | undefined;
                functionTag?: string | undefined;
                serviceAccountId?: string | undefined;
                batchSettings?: {
                    maxCount?: number | undefined;
                    maxBytes?: number | undefined;
                    cutoff?: {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } | undefined;
                } | undefined;
            } | undefined;
            container?: {
                containerId?: string | undefined;
                containerRevisionId?: string | undefined;
                path?: string | undefined;
                serviceAccountId?: string | undefined;
                batchSettings?: {
                    maxCount?: number | undefined;
                    maxBytes?: number | undefined;
                    cutoff?: {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } | undefined;
                } | undefined;
            } | undefined;
            gatewayWsBroadcast?: {
                gatewayId?: string | undefined;
                path?: string | undefined;
                serviceAccountId?: string | undefined;
                batchSettings?: {
                    maxCount?: number | undefined;
                    maxBytes?: number | undefined;
                    cutoff?: {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } | undefined;
                } | undefined;
            } | undefined;
            logging?: {
                logGroupId?: string | undefined;
                folderId?: string | undefined;
                serviceAccountId?: string | undefined;
            } | undefined;
            workflow?: {
                workflowId?: string | undefined;
                serviceAccountId?: string | undefined;
                batchSettings?: {
                    maxCount?: number | undefined;
                    maxBytes?: number | undefined;
                    cutoff?: {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } | undefined;
                } | undefined;
            } | undefined;
            transformer?: {
                jqTransformer?: string | undefined;
            } | undefined;
            retrySettings?: {
                retryAttempts?: number | undefined;
                maximumAge?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
            } | undefined;
            deadLetterQueue?: {
                queueArn?: string | undefined;
                serviceAccountId?: string | undefined;
            } | undefined;
            status?: Target_Status | undefined;
        }[] & ({
            yds?: {
                database?: string | undefined;
                streamName?: string | undefined;
                serviceAccountId?: string | undefined;
            } | undefined;
            ymq?: {
                queueArn?: string | undefined;
                serviceAccountId?: string | undefined;
            } | undefined;
            function?: {
                functionId?: string | undefined;
                functionTag?: string | undefined;
                serviceAccountId?: string | undefined;
                batchSettings?: {
                    maxCount?: number | undefined;
                    maxBytes?: number | undefined;
                    cutoff?: {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } | undefined;
                } | undefined;
            } | undefined;
            container?: {
                containerId?: string | undefined;
                containerRevisionId?: string | undefined;
                path?: string | undefined;
                serviceAccountId?: string | undefined;
                batchSettings?: {
                    maxCount?: number | undefined;
                    maxBytes?: number | undefined;
                    cutoff?: {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } | undefined;
                } | undefined;
            } | undefined;
            gatewayWsBroadcast?: {
                gatewayId?: string | undefined;
                path?: string | undefined;
                serviceAccountId?: string | undefined;
                batchSettings?: {
                    maxCount?: number | undefined;
                    maxBytes?: number | undefined;
                    cutoff?: {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } | undefined;
                } | undefined;
            } | undefined;
            logging?: {
                logGroupId?: string | undefined;
                folderId?: string | undefined;
                serviceAccountId?: string | undefined;
            } | undefined;
            workflow?: {
                workflowId?: string | undefined;
                serviceAccountId?: string | undefined;
                batchSettings?: {
                    maxCount?: number | undefined;
                    maxBytes?: number | undefined;
                    cutoff?: {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } | undefined;
                } | undefined;
            } | undefined;
            transformer?: {
                jqTransformer?: string | undefined;
            } | undefined;
            retrySettings?: {
                retryAttempts?: number | undefined;
                maximumAge?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
            } | undefined;
            deadLetterQueue?: {
                queueArn?: string | undefined;
                serviceAccountId?: string | undefined;
            } | undefined;
            status?: Target_Status | undefined;
        } & {
            yds?: ({
                database?: string | undefined;
                streamName?: string | undefined;
                serviceAccountId?: string | undefined;
            } & {
                database?: string | undefined;
                streamName?: string | undefined;
                serviceAccountId?: string | undefined;
            } & Record<Exclude<keyof I["targets"][number]["yds"], keyof YdsTarget>, never>) | undefined;
            ymq?: ({
                queueArn?: string | undefined;
                serviceAccountId?: string | undefined;
            } & {
                queueArn?: string | undefined;
                serviceAccountId?: string | undefined;
            } & Record<Exclude<keyof I["targets"][number]["ymq"], keyof YmqTarget>, never>) | undefined;
            function?: ({
                functionId?: string | undefined;
                functionTag?: string | undefined;
                serviceAccountId?: string | undefined;
                batchSettings?: {
                    maxCount?: number | undefined;
                    maxBytes?: number | undefined;
                    cutoff?: {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } | undefined;
                } | undefined;
            } & {
                functionId?: string | undefined;
                functionTag?: string | undefined;
                serviceAccountId?: string | undefined;
                batchSettings?: ({
                    maxCount?: number | undefined;
                    maxBytes?: number | undefined;
                    cutoff?: {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } | undefined;
                } & {
                    maxCount?: number | undefined;
                    maxBytes?: number | undefined;
                    cutoff?: ({
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } & {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } & Record<Exclude<keyof I["targets"][number]["function"]["batchSettings"]["cutoff"], keyof Duration>, never>) | undefined;
                } & Record<Exclude<keyof I["targets"][number]["function"]["batchSettings"], keyof BatchSettings>, never>) | undefined;
            } & Record<Exclude<keyof I["targets"][number]["function"], keyof FunctionTarget>, never>) | undefined;
            container?: ({
                containerId?: string | undefined;
                containerRevisionId?: string | undefined;
                path?: string | undefined;
                serviceAccountId?: string | undefined;
                batchSettings?: {
                    maxCount?: number | undefined;
                    maxBytes?: number | undefined;
                    cutoff?: {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } | undefined;
                } | undefined;
            } & {
                containerId?: string | undefined;
                containerRevisionId?: string | undefined;
                path?: string | undefined;
                serviceAccountId?: string | undefined;
                batchSettings?: ({
                    maxCount?: number | undefined;
                    maxBytes?: number | undefined;
                    cutoff?: {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } | undefined;
                } & {
                    maxCount?: number | undefined;
                    maxBytes?: number | undefined;
                    cutoff?: ({
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } & {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } & Record<Exclude<keyof I["targets"][number]["container"]["batchSettings"]["cutoff"], keyof Duration>, never>) | undefined;
                } & Record<Exclude<keyof I["targets"][number]["container"]["batchSettings"], keyof BatchSettings>, never>) | undefined;
            } & Record<Exclude<keyof I["targets"][number]["container"], keyof ContainerTarget>, never>) | undefined;
            gatewayWsBroadcast?: ({
                gatewayId?: string | undefined;
                path?: string | undefined;
                serviceAccountId?: string | undefined;
                batchSettings?: {
                    maxCount?: number | undefined;
                    maxBytes?: number | undefined;
                    cutoff?: {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } | undefined;
                } | undefined;
            } & {
                gatewayId?: string | undefined;
                path?: string | undefined;
                serviceAccountId?: string | undefined;
                batchSettings?: ({
                    maxCount?: number | undefined;
                    maxBytes?: number | undefined;
                    cutoff?: {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } | undefined;
                } & {
                    maxCount?: number | undefined;
                    maxBytes?: number | undefined;
                    cutoff?: ({
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } & {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } & Record<Exclude<keyof I["targets"][number]["gatewayWsBroadcast"]["batchSettings"]["cutoff"], keyof Duration>, never>) | undefined;
                } & Record<Exclude<keyof I["targets"][number]["gatewayWsBroadcast"]["batchSettings"], keyof BatchSettings>, never>) | undefined;
            } & Record<Exclude<keyof I["targets"][number]["gatewayWsBroadcast"], keyof GatewayWebsocketBroadcastTarget>, never>) | undefined;
            logging?: ({
                logGroupId?: string | undefined;
                folderId?: string | undefined;
                serviceAccountId?: string | undefined;
            } & {
                logGroupId?: string | undefined;
                folderId?: string | undefined;
                serviceAccountId?: string | undefined;
            } & Record<Exclude<keyof I["targets"][number]["logging"], keyof LoggingTarget>, never>) | undefined;
            workflow?: ({
                workflowId?: string | undefined;
                serviceAccountId?: string | undefined;
                batchSettings?: {
                    maxCount?: number | undefined;
                    maxBytes?: number | undefined;
                    cutoff?: {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } | undefined;
                } | undefined;
            } & {
                workflowId?: string | undefined;
                serviceAccountId?: string | undefined;
                batchSettings?: ({
                    maxCount?: number | undefined;
                    maxBytes?: number | undefined;
                    cutoff?: {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } | undefined;
                } & {
                    maxCount?: number | undefined;
                    maxBytes?: number | undefined;
                    cutoff?: ({
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } & {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } & Record<Exclude<keyof I["targets"][number]["workflow"]["batchSettings"]["cutoff"], keyof Duration>, never>) | undefined;
                } & Record<Exclude<keyof I["targets"][number]["workflow"]["batchSettings"], keyof BatchSettings>, never>) | undefined;
            } & Record<Exclude<keyof I["targets"][number]["workflow"], keyof WorkflowTarget>, never>) | undefined;
            transformer?: ({
                jqTransformer?: string | undefined;
            } & {
                jqTransformer?: string | undefined;
            } & Record<Exclude<keyof I["targets"][number]["transformer"], "jqTransformer">, never>) | undefined;
            retrySettings?: ({
                retryAttempts?: number | undefined;
                maximumAge?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
            } & {
                retryAttempts?: number | undefined;
                maximumAge?: ({
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & Record<Exclude<keyof I["targets"][number]["retrySettings"]["maximumAge"], keyof Duration>, never>) | undefined;
            } & Record<Exclude<keyof I["targets"][number]["retrySettings"], keyof RetrySettings>, never>) | undefined;
            deadLetterQueue?: ({
                queueArn?: string | undefined;
                serviceAccountId?: string | undefined;
            } & {
                queueArn?: string | undefined;
                serviceAccountId?: string | undefined;
            } & Record<Exclude<keyof I["targets"][number]["deadLetterQueue"], keyof PutQueueMessage>, never>) | undefined;
            status?: Target_Status | undefined;
        } & Record<Exclude<keyof I["targets"][number], keyof Target>, never>)[] & Record<Exclude<keyof I["targets"], keyof {
            yds?: {
                database?: string | undefined;
                streamName?: string | undefined;
                serviceAccountId?: string | undefined;
            } | undefined;
            ymq?: {
                queueArn?: string | undefined;
                serviceAccountId?: string | undefined;
            } | undefined;
            function?: {
                functionId?: string | undefined;
                functionTag?: string | undefined;
                serviceAccountId?: string | undefined;
                batchSettings?: {
                    maxCount?: number | undefined;
                    maxBytes?: number | undefined;
                    cutoff?: {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } | undefined;
                } | undefined;
            } | undefined;
            container?: {
                containerId?: string | undefined;
                containerRevisionId?: string | undefined;
                path?: string | undefined;
                serviceAccountId?: string | undefined;
                batchSettings?: {
                    maxCount?: number | undefined;
                    maxBytes?: number | undefined;
                    cutoff?: {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } | undefined;
                } | undefined;
            } | undefined;
            gatewayWsBroadcast?: {
                gatewayId?: string | undefined;
                path?: string | undefined;
                serviceAccountId?: string | undefined;
                batchSettings?: {
                    maxCount?: number | undefined;
                    maxBytes?: number | undefined;
                    cutoff?: {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } | undefined;
                } | undefined;
            } | undefined;
            logging?: {
                logGroupId?: string | undefined;
                folderId?: string | undefined;
                serviceAccountId?: string | undefined;
            } | undefined;
            workflow?: {
                workflowId?: string | undefined;
                serviceAccountId?: string | undefined;
                batchSettings?: {
                    maxCount?: number | undefined;
                    maxBytes?: number | undefined;
                    cutoff?: {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } | undefined;
                } | undefined;
            } | undefined;
            transformer?: {
                jqTransformer?: string | undefined;
            } | undefined;
            retrySettings?: {
                retryAttempts?: number | undefined;
                maximumAge?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
            } | undefined;
            deadLetterQueue?: {
                queueArn?: string | undefined;
                serviceAccountId?: string | undefined;
            } | undefined;
            status?: Target_Status | undefined;
        }[]>, never>) | undefined;
        deletionProtection?: boolean | undefined;
        status?: Rule_Status | undefined;
    } & Record<Exclude<keyof I, keyof Rule>, never>>(object: I): Rule;
};
export declare const Rule_LabelsEntry: {
    encode(message: Rule_LabelsEntry, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Rule_LabelsEntry;
    fromJSON(object: any): Rule_LabelsEntry;
    toJSON(message: Rule_LabelsEntry): unknown;
    fromPartial<I extends {
        key?: string | undefined;
        value?: string | undefined;
    } & {
        key?: string | undefined;
        value?: string | undefined;
    } & Record<Exclude<keyof I, keyof Rule_LabelsEntry>, never>>(object: I): Rule_LabelsEntry;
};
export declare const Filter: {
    encode(message: Filter, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Filter;
    fromJSON(object: any): Filter;
    toJSON(message: Filter): unknown;
    fromPartial<I extends {
        jqFilter?: string | undefined;
    } & {
        jqFilter?: string | undefined;
    } & Record<Exclude<keyof I, "jqFilter">, never>>(object: I): Filter;
};
export declare const Transformer: {
    encode(message: Transformer, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Transformer;
    fromJSON(object: any): Transformer;
    toJSON(message: Transformer): unknown;
    fromPartial<I extends {
        jqTransformer?: string | undefined;
    } & {
        jqTransformer?: string | undefined;
    } & Record<Exclude<keyof I, "jqTransformer">, never>>(object: I): Transformer;
};
export declare const Target: {
    encode(message: Target, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Target;
    fromJSON(object: any): Target;
    toJSON(message: Target): unknown;
    fromPartial<I extends {
        yds?: {
            database?: string | undefined;
            streamName?: string | undefined;
            serviceAccountId?: string | undefined;
        } | undefined;
        ymq?: {
            queueArn?: string | undefined;
            serviceAccountId?: string | undefined;
        } | undefined;
        function?: {
            functionId?: string | undefined;
            functionTag?: string | undefined;
            serviceAccountId?: string | undefined;
            batchSettings?: {
                maxCount?: number | undefined;
                maxBytes?: number | undefined;
                cutoff?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
            } | undefined;
        } | undefined;
        container?: {
            containerId?: string | undefined;
            containerRevisionId?: string | undefined;
            path?: string | undefined;
            serviceAccountId?: string | undefined;
            batchSettings?: {
                maxCount?: number | undefined;
                maxBytes?: number | undefined;
                cutoff?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
            } | undefined;
        } | undefined;
        gatewayWsBroadcast?: {
            gatewayId?: string | undefined;
            path?: string | undefined;
            serviceAccountId?: string | undefined;
            batchSettings?: {
                maxCount?: number | undefined;
                maxBytes?: number | undefined;
                cutoff?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
            } | undefined;
        } | undefined;
        logging?: {
            logGroupId?: string | undefined;
            folderId?: string | undefined;
            serviceAccountId?: string | undefined;
        } | undefined;
        workflow?: {
            workflowId?: string | undefined;
            serviceAccountId?: string | undefined;
            batchSettings?: {
                maxCount?: number | undefined;
                maxBytes?: number | undefined;
                cutoff?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
            } | undefined;
        } | undefined;
        transformer?: {
            jqTransformer?: string | undefined;
        } | undefined;
        retrySettings?: {
            retryAttempts?: number | undefined;
            maximumAge?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        } | undefined;
        deadLetterQueue?: {
            queueArn?: string | undefined;
            serviceAccountId?: string | undefined;
        } | undefined;
        status?: Target_Status | undefined;
    } & {
        yds?: ({
            database?: string | undefined;
            streamName?: string | undefined;
            serviceAccountId?: string | undefined;
        } & {
            database?: string | undefined;
            streamName?: string | undefined;
            serviceAccountId?: string | undefined;
        } & Record<Exclude<keyof I["yds"], keyof YdsTarget>, never>) | undefined;
        ymq?: ({
            queueArn?: string | undefined;
            serviceAccountId?: string | undefined;
        } & {
            queueArn?: string | undefined;
            serviceAccountId?: string | undefined;
        } & Record<Exclude<keyof I["ymq"], keyof YmqTarget>, never>) | undefined;
        function?: ({
            functionId?: string | undefined;
            functionTag?: string | undefined;
            serviceAccountId?: string | undefined;
            batchSettings?: {
                maxCount?: number | undefined;
                maxBytes?: number | undefined;
                cutoff?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
            } | undefined;
        } & {
            functionId?: string | undefined;
            functionTag?: string | undefined;
            serviceAccountId?: string | undefined;
            batchSettings?: ({
                maxCount?: number | undefined;
                maxBytes?: number | undefined;
                cutoff?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
            } & {
                maxCount?: number | undefined;
                maxBytes?: number | undefined;
                cutoff?: ({
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & Record<Exclude<keyof I["function"]["batchSettings"]["cutoff"], keyof Duration>, never>) | undefined;
            } & Record<Exclude<keyof I["function"]["batchSettings"], keyof BatchSettings>, never>) | undefined;
        } & Record<Exclude<keyof I["function"], keyof FunctionTarget>, never>) | undefined;
        container?: ({
            containerId?: string | undefined;
            containerRevisionId?: string | undefined;
            path?: string | undefined;
            serviceAccountId?: string | undefined;
            batchSettings?: {
                maxCount?: number | undefined;
                maxBytes?: number | undefined;
                cutoff?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
            } | undefined;
        } & {
            containerId?: string | undefined;
            containerRevisionId?: string | undefined;
            path?: string | undefined;
            serviceAccountId?: string | undefined;
            batchSettings?: ({
                maxCount?: number | undefined;
                maxBytes?: number | undefined;
                cutoff?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
            } & {
                maxCount?: number | undefined;
                maxBytes?: number | undefined;
                cutoff?: ({
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & Record<Exclude<keyof I["container"]["batchSettings"]["cutoff"], keyof Duration>, never>) | undefined;
            } & Record<Exclude<keyof I["container"]["batchSettings"], keyof BatchSettings>, never>) | undefined;
        } & Record<Exclude<keyof I["container"], keyof ContainerTarget>, never>) | undefined;
        gatewayWsBroadcast?: ({
            gatewayId?: string | undefined;
            path?: string | undefined;
            serviceAccountId?: string | undefined;
            batchSettings?: {
                maxCount?: number | undefined;
                maxBytes?: number | undefined;
                cutoff?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
            } | undefined;
        } & {
            gatewayId?: string | undefined;
            path?: string | undefined;
            serviceAccountId?: string | undefined;
            batchSettings?: ({
                maxCount?: number | undefined;
                maxBytes?: number | undefined;
                cutoff?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
            } & {
                maxCount?: number | undefined;
                maxBytes?: number | undefined;
                cutoff?: ({
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & Record<Exclude<keyof I["gatewayWsBroadcast"]["batchSettings"]["cutoff"], keyof Duration>, never>) | undefined;
            } & Record<Exclude<keyof I["gatewayWsBroadcast"]["batchSettings"], keyof BatchSettings>, never>) | undefined;
        } & Record<Exclude<keyof I["gatewayWsBroadcast"], keyof GatewayWebsocketBroadcastTarget>, never>) | undefined;
        logging?: ({
            logGroupId?: string | undefined;
            folderId?: string | undefined;
            serviceAccountId?: string | undefined;
        } & {
            logGroupId?: string | undefined;
            folderId?: string | undefined;
            serviceAccountId?: string | undefined;
        } & Record<Exclude<keyof I["logging"], keyof LoggingTarget>, never>) | undefined;
        workflow?: ({
            workflowId?: string | undefined;
            serviceAccountId?: string | undefined;
            batchSettings?: {
                maxCount?: number | undefined;
                maxBytes?: number | undefined;
                cutoff?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
            } | undefined;
        } & {
            workflowId?: string | undefined;
            serviceAccountId?: string | undefined;
            batchSettings?: ({
                maxCount?: number | undefined;
                maxBytes?: number | undefined;
                cutoff?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
            } & {
                maxCount?: number | undefined;
                maxBytes?: number | undefined;
                cutoff?: ({
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & Record<Exclude<keyof I["workflow"]["batchSettings"]["cutoff"], keyof Duration>, never>) | undefined;
            } & Record<Exclude<keyof I["workflow"]["batchSettings"], keyof BatchSettings>, never>) | undefined;
        } & Record<Exclude<keyof I["workflow"], keyof WorkflowTarget>, never>) | undefined;
        transformer?: ({
            jqTransformer?: string | undefined;
        } & {
            jqTransformer?: string | undefined;
        } & Record<Exclude<keyof I["transformer"], "jqTransformer">, never>) | undefined;
        retrySettings?: ({
            retryAttempts?: number | undefined;
            maximumAge?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        } & {
            retryAttempts?: number | undefined;
            maximumAge?: ({
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & Record<Exclude<keyof I["retrySettings"]["maximumAge"], keyof Duration>, never>) | undefined;
        } & Record<Exclude<keyof I["retrySettings"], keyof RetrySettings>, never>) | undefined;
        deadLetterQueue?: ({
            queueArn?: string | undefined;
            serviceAccountId?: string | undefined;
        } & {
            queueArn?: string | undefined;
            serviceAccountId?: string | undefined;
        } & Record<Exclude<keyof I["deadLetterQueue"], keyof PutQueueMessage>, never>) | undefined;
        status?: Target_Status | undefined;
    } & Record<Exclude<keyof I, keyof Target>, never>>(object: I): Target;
};
export declare const YdsTarget: {
    encode(message: YdsTarget, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): YdsTarget;
    fromJSON(object: any): YdsTarget;
    toJSON(message: YdsTarget): unknown;
    fromPartial<I extends {
        database?: string | undefined;
        streamName?: string | undefined;
        serviceAccountId?: string | undefined;
    } & {
        database?: string | undefined;
        streamName?: string | undefined;
        serviceAccountId?: string | undefined;
    } & Record<Exclude<keyof I, keyof YdsTarget>, never>>(object: I): YdsTarget;
};
export declare const YmqTarget: {
    encode(message: YmqTarget, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): YmqTarget;
    fromJSON(object: any): YmqTarget;
    toJSON(message: YmqTarget): unknown;
    fromPartial<I extends {
        queueArn?: string | undefined;
        serviceAccountId?: string | undefined;
    } & {
        queueArn?: string | undefined;
        serviceAccountId?: string | undefined;
    } & Record<Exclude<keyof I, keyof YmqTarget>, never>>(object: I): YmqTarget;
};
export declare const FunctionTarget: {
    encode(message: FunctionTarget, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): FunctionTarget;
    fromJSON(object: any): FunctionTarget;
    toJSON(message: FunctionTarget): unknown;
    fromPartial<I extends {
        functionId?: string | undefined;
        functionTag?: string | undefined;
        serviceAccountId?: string | undefined;
        batchSettings?: {
            maxCount?: number | undefined;
            maxBytes?: number | undefined;
            cutoff?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        } | undefined;
    } & {
        functionId?: string | undefined;
        functionTag?: string | undefined;
        serviceAccountId?: string | undefined;
        batchSettings?: ({
            maxCount?: number | undefined;
            maxBytes?: number | undefined;
            cutoff?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        } & {
            maxCount?: number | undefined;
            maxBytes?: number | undefined;
            cutoff?: ({
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & Record<Exclude<keyof I["batchSettings"]["cutoff"], keyof Duration>, never>) | undefined;
        } & Record<Exclude<keyof I["batchSettings"], keyof BatchSettings>, never>) | undefined;
    } & Record<Exclude<keyof I, keyof FunctionTarget>, never>>(object: I): FunctionTarget;
};
export declare const ContainerTarget: {
    encode(message: ContainerTarget, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ContainerTarget;
    fromJSON(object: any): ContainerTarget;
    toJSON(message: ContainerTarget): unknown;
    fromPartial<I extends {
        containerId?: string | undefined;
        containerRevisionId?: string | undefined;
        path?: string | undefined;
        serviceAccountId?: string | undefined;
        batchSettings?: {
            maxCount?: number | undefined;
            maxBytes?: number | undefined;
            cutoff?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        } | undefined;
    } & {
        containerId?: string | undefined;
        containerRevisionId?: string | undefined;
        path?: string | undefined;
        serviceAccountId?: string | undefined;
        batchSettings?: ({
            maxCount?: number | undefined;
            maxBytes?: number | undefined;
            cutoff?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        } & {
            maxCount?: number | undefined;
            maxBytes?: number | undefined;
            cutoff?: ({
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & Record<Exclude<keyof I["batchSettings"]["cutoff"], keyof Duration>, never>) | undefined;
        } & Record<Exclude<keyof I["batchSettings"], keyof BatchSettings>, never>) | undefined;
    } & Record<Exclude<keyof I, keyof ContainerTarget>, never>>(object: I): ContainerTarget;
};
export declare const GatewayWebsocketBroadcastTarget: {
    encode(message: GatewayWebsocketBroadcastTarget, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): GatewayWebsocketBroadcastTarget;
    fromJSON(object: any): GatewayWebsocketBroadcastTarget;
    toJSON(message: GatewayWebsocketBroadcastTarget): unknown;
    fromPartial<I extends {
        gatewayId?: string | undefined;
        path?: string | undefined;
        serviceAccountId?: string | undefined;
        batchSettings?: {
            maxCount?: number | undefined;
            maxBytes?: number | undefined;
            cutoff?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        } | undefined;
    } & {
        gatewayId?: string | undefined;
        path?: string | undefined;
        serviceAccountId?: string | undefined;
        batchSettings?: ({
            maxCount?: number | undefined;
            maxBytes?: number | undefined;
            cutoff?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        } & {
            maxCount?: number | undefined;
            maxBytes?: number | undefined;
            cutoff?: ({
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & Record<Exclude<keyof I["batchSettings"]["cutoff"], keyof Duration>, never>) | undefined;
        } & Record<Exclude<keyof I["batchSettings"], keyof BatchSettings>, never>) | undefined;
    } & Record<Exclude<keyof I, keyof GatewayWebsocketBroadcastTarget>, never>>(object: I): GatewayWebsocketBroadcastTarget;
};
export declare const LoggingTarget: {
    encode(message: LoggingTarget, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): LoggingTarget;
    fromJSON(object: any): LoggingTarget;
    toJSON(message: LoggingTarget): unknown;
    fromPartial<I extends {
        logGroupId?: string | undefined;
        folderId?: string | undefined;
        serviceAccountId?: string | undefined;
    } & {
        logGroupId?: string | undefined;
        folderId?: string | undefined;
        serviceAccountId?: string | undefined;
    } & Record<Exclude<keyof I, keyof LoggingTarget>, never>>(object: I): LoggingTarget;
};
export declare const WorkflowTarget: {
    encode(message: WorkflowTarget, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): WorkflowTarget;
    fromJSON(object: any): WorkflowTarget;
    toJSON(message: WorkflowTarget): unknown;
    fromPartial<I extends {
        workflowId?: string | undefined;
        serviceAccountId?: string | undefined;
        batchSettings?: {
            maxCount?: number | undefined;
            maxBytes?: number | undefined;
            cutoff?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        } | undefined;
    } & {
        workflowId?: string | undefined;
        serviceAccountId?: string | undefined;
        batchSettings?: ({
            maxCount?: number | undefined;
            maxBytes?: number | undefined;
            cutoff?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        } & {
            maxCount?: number | undefined;
            maxBytes?: number | undefined;
            cutoff?: ({
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & Record<Exclude<keyof I["batchSettings"]["cutoff"], keyof Duration>, never>) | undefined;
        } & Record<Exclude<keyof I["batchSettings"], keyof BatchSettings>, never>) | undefined;
    } & Record<Exclude<keyof I, keyof WorkflowTarget>, never>>(object: I): WorkflowTarget;
};
export declare const RetrySettings: {
    encode(message: RetrySettings, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): RetrySettings;
    fromJSON(object: any): RetrySettings;
    toJSON(message: RetrySettings): unknown;
    fromPartial<I extends {
        retryAttempts?: number | undefined;
        maximumAge?: {
            seconds?: number | undefined;
            nanos?: number | undefined;
        } | undefined;
    } & {
        retryAttempts?: number | undefined;
        maximumAge?: ({
            seconds?: number | undefined;
            nanos?: number | undefined;
        } & {
            seconds?: number | undefined;
            nanos?: number | undefined;
        } & Record<Exclude<keyof I["maximumAge"], keyof Duration>, never>) | undefined;
    } & Record<Exclude<keyof I, keyof RetrySettings>, never>>(object: I): RetrySettings;
};
export declare const PutQueueMessage: {
    encode(message: PutQueueMessage, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): PutQueueMessage;
    fromJSON(object: any): PutQueueMessage;
    toJSON(message: PutQueueMessage): unknown;
    fromPartial<I extends {
        queueArn?: string | undefined;
        serviceAccountId?: string | undefined;
    } & {
        queueArn?: string | undefined;
        serviceAccountId?: string | undefined;
    } & Record<Exclude<keyof I, keyof PutQueueMessage>, never>>(object: I): PutQueueMessage;
};
export declare const BatchSettings: {
    encode(message: BatchSettings, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): BatchSettings;
    fromJSON(object: any): BatchSettings;
    toJSON(message: BatchSettings): unknown;
    fromPartial<I extends {
        maxCount?: number | undefined;
        maxBytes?: number | undefined;
        cutoff?: {
            seconds?: number | undefined;
            nanos?: number | undefined;
        } | undefined;
    } & {
        maxCount?: number | undefined;
        maxBytes?: number | undefined;
        cutoff?: ({
            seconds?: number | undefined;
            nanos?: number | undefined;
        } & {
            seconds?: number | undefined;
            nanos?: number | undefined;
        } & Record<Exclude<keyof I["cutoff"], keyof Duration>, never>) | undefined;
    } & Record<Exclude<keyof I, keyof BatchSettings>, never>>(object: I): BatchSettings;
};
type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
export 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;
export type Exact<P, I extends P> = P extends Builtin ? P : P & {
    [K in keyof P]: Exact<P[K], I[K]>;
} & Record<Exclude<keyof I, KeysOfUnion<P>>, never>;
export {};
