import * as Core from 'cloudflaredev/core';
import { APIResource } from 'cloudflaredev/resource';
import * as TailAPI from 'cloudflaredev/resources/workers/scripts/tail';
import * as Shared from 'cloudflaredev/resources/shared';
export declare class Tail extends APIResource {
    /**
     * Starts a tail that receives logs and exception from a Worker.
     */
    create(scriptName: string, params: TailCreateParams, options?: Core.RequestOptions): Core.APIPromise<TailCreateResponse>;
    /**
     * Deletes a tail from a Worker.
     */
    delete(scriptName: string, id: string, params: TailDeleteParams, options?: Core.RequestOptions): Core.APIPromise<TailDeleteResponse>;
    /**
     * Get list of tails currently deployed on a Worker.
     */
    get(scriptName: string, params: TailGetParams, options?: Core.RequestOptions): Core.APIPromise<TailGetResponse>;
}
/**
 * A reference to a script that will consume logs from the attached Worker.
 */
export interface ConsumerScript {
    /**
     * Name of Worker that is to be the consumer.
     */
    service: string;
    /**
     * Optional environment if the Worker utilizes one.
     */
    environment?: string;
    /**
     * Optional dispatch namespace the script belongs to.
     */
    namespace?: string;
}
/**
 * A reference to a script that will consume logs from the attached Worker.
 */
export interface ConsumerScriptParam {
    /**
     * Name of Worker that is to be the consumer.
     */
    service: string;
    /**
     * Optional environment if the Worker utilizes one.
     */
    environment?: string;
    /**
     * Optional dispatch namespace the script belongs to.
     */
    namespace?: string;
}
export interface TailCreateResponse {
    id?: unknown;
    expires_at?: unknown;
    url?: unknown;
}
export interface TailDeleteResponse {
    errors: Array<Shared.ResponseInfo>;
    messages: Array<Shared.ResponseInfo>;
    /**
     * Whether the API call was successful
     */
    success: true;
}
export interface TailGetResponse {
    id?: unknown;
    expires_at?: unknown;
    url?: unknown;
}
export interface TailCreateParams {
    /**
     * Path param: Identifier
     */
    account_id: string;
    /**
     * Body param:
     */
    body: unknown;
}
export interface TailDeleteParams {
    /**
     * Identifier
     */
    account_id: string;
}
export interface TailGetParams {
    /**
     * Identifier
     */
    account_id: string;
}
export declare namespace Tail {
    export import ConsumerScript = TailAPI.ConsumerScript;
    export import TailCreateResponse = TailAPI.TailCreateResponse;
    export import TailDeleteResponse = TailAPI.TailDeleteResponse;
    export import TailGetResponse = TailAPI.TailGetResponse;
    export import TailCreateParams = TailAPI.TailCreateParams;
    export import TailDeleteParams = TailAPI.TailDeleteParams;
    export import TailGetParams = TailAPI.TailGetParams;
}
//# sourceMappingURL=tail.d.ts.map