import * as Core from 'cloudflare/core';
import { APIResource } from 'cloudflare/resource';
import * as TSIGsAPI from 'cloudflare/resources/secondary-dns/tsigs';
import { SinglePage } from 'cloudflare/pagination';
export declare class TSIGs extends APIResource {
    /**
     * Create TSIG.
     */
    create(params: TSIGCreateParams, options?: Core.RequestOptions): Core.APIPromise<SecondaryDNSTSIG>;
    /**
     * Modify TSIG.
     */
    update(tsigId: string, params: TSIGUpdateParams, options?: Core.RequestOptions): Core.APIPromise<SecondaryDNSTSIG>;
    /**
     * List TSIGs.
     */
    list(params: TSIGListParams, options?: Core.RequestOptions): Core.PagePromise<SecondaryDnstsigsSinglePage, SecondaryDNSTSIG>;
    /**
     * Delete TSIG.
     */
    delete(tsigId: string, params: TSIGDeleteParams, options?: Core.RequestOptions): Core.APIPromise<TSIGDeleteResponse>;
    /**
     * Get TSIG.
     */
    get(tsigId: string, params: TSIGGetParams, options?: Core.RequestOptions): Core.APIPromise<SecondaryDNSTSIG>;
}
export declare class SecondaryDnstsigsSinglePage extends SinglePage<SecondaryDNSTSIG> {
}
export interface SecondaryDNSTSIG {
    id: string;
    /**
     * TSIG algorithm.
     */
    algo: string;
    /**
     * TSIG key name.
     */
    name: string;
    /**
     * TSIG secret.
     */
    secret: string;
}
export interface TSIGDeleteResponse {
    id?: string;
}
export interface TSIGCreateParams {
    /**
     * Path param:
     */
    account_id: string;
    /**
     * Body param: TSIG algorithm.
     */
    algo: string;
    /**
     * Body param: TSIG key name.
     */
    name: string;
    /**
     * Body param: TSIG secret.
     */
    secret: string;
}
export interface TSIGUpdateParams {
    /**
     * Path param:
     */
    account_id: string;
    /**
     * Body param: TSIG algorithm.
     */
    algo: string;
    /**
     * Body param: TSIG key name.
     */
    name: string;
    /**
     * Body param: TSIG secret.
     */
    secret: string;
}
export interface TSIGListParams {
    account_id: string;
}
export interface TSIGDeleteParams {
    account_id: string;
}
export interface TSIGGetParams {
    account_id: string;
}
export declare namespace TSIGs {
    export import SecondaryDNSTSIG = TSIGsAPI.SecondaryDNSTSIG;
    export import TSIGDeleteResponse = TSIGsAPI.TSIGDeleteResponse;
    export import SecondaryDnstsigsSinglePage = TSIGsAPI.SecondaryDnstsigsSinglePage;
    export import TSIGCreateParams = TSIGsAPI.TSIGCreateParams;
    export import TSIGUpdateParams = TSIGsAPI.TSIGUpdateParams;
    export import TSIGListParams = TSIGsAPI.TSIGListParams;
    export import TSIGDeleteParams = TSIGsAPI.TSIGDeleteParams;
    export import TSIGGetParams = TSIGsAPI.TSIGGetParams;
}
//# sourceMappingURL=tsigs.d.ts.map