import { APIResource } from "../../core/resource.mjs";
import { APIPromise } from "../../core/api-promise.mjs";
import { RequestOptions } from "../../internal/request-options.mjs";
export declare class BaseWebhooks extends APIResource {
    static readonly _key: readonly ['stream', 'webhooks'];
    /**
     * Create a webhook for notifications about on-demand video uploads.
     *
     * @example
     * ```ts
     * const webhook = await client.stream.webhooks.update({
     *   account_id: '023e105f4ecef8ad9ca31a8372d0c353',
     * });
     * ```
     */
    update(params: WebhookUpdateParams, options?: RequestOptions): APIPromise<WebhookUpdateResponse>;
    /**
     * Deletes the on-demand video webhook.
     *
     * @example
     * ```ts
     * const webhook = await client.stream.webhooks.delete({
     *   account_id: '023e105f4ecef8ad9ca31a8372d0c353',
     * });
     * ```
     */
    delete(params: WebhookDeleteParams, options?: RequestOptions): APIPromise<WebhookDeleteResponse>;
    /**
     * Retrieve current on-demand webhook information.
     *
     * @example
     * ```ts
     * const webhook = await client.stream.webhooks.get({
     *   account_id: '023e105f4ecef8ad9ca31a8372d0c353',
     * });
     * ```
     */
    get(params: WebhookGetParams, options?: RequestOptions): APIPromise<WebhookGetResponse>;
}
export declare class Webhooks extends BaseWebhooks {
}
export interface WebhookUpdateResponse {
    /**
     * The date and time the webhook was last modified.
     */
    modified?: string;
    /**
     * The URL where webhooks will be sent.
     */
    notificationUrl?: string;
    /**
     * The secret used to verify webhook signatures.
     */
    secret?: string;
}
export type WebhookDeleteResponse = string;
export interface WebhookGetResponse {
    /**
     * The date and time the webhook was last modified.
     */
    modified?: string;
    /**
     * The URL where webhooks will be sent.
     */
    notificationUrl?: string;
    /**
     * The secret used to verify webhook signatures.
     */
    secret?: string;
}
export interface WebhookUpdateParams {
    /**
     * Path param: The account identifier tag.
     */
    account_id: string;
    /**
     * Body param: The URL where webhooks will be sent.
     */
    notification_url?: string;
    /**
     * Body param: The URL where webhooks will be sent.
     */
    notificationUrl?: string;
}
export interface WebhookDeleteParams {
    /**
     * The account identifier tag.
     */
    account_id: string;
}
export interface WebhookGetParams {
    /**
     * The account identifier tag.
     */
    account_id: string;
}
export declare namespace Webhooks {
    export { type WebhookUpdateResponse as WebhookUpdateResponse, type WebhookDeleteResponse as WebhookDeleteResponse, type WebhookGetResponse as WebhookGetResponse, type WebhookUpdateParams as WebhookUpdateParams, type WebhookDeleteParams as WebhookDeleteParams, type WebhookGetParams as WebhookGetParams, };
}
//# sourceMappingURL=webhooks.d.mts.map