import * as Core from 'cloudflare/core';
import { APIResource } from 'cloudflare/resource';
import * as CustomPagesAPI from 'cloudflare/resources/zero-trust/access/custom-pages';
import { SinglePage } from 'cloudflare/pagination';
export declare class CustomPages extends APIResource {
    /**
     * Create a custom page
     */
    create(identifier: string, body: CustomPageCreateParams, options?: Core.RequestOptions): Core.APIPromise<ZeroTrustCustomPageWithoutHTML>;
    /**
     * Update a custom page
     */
    update(identifier: string, uuid: string, body: CustomPageUpdateParams, options?: Core.RequestOptions): Core.APIPromise<ZeroTrustCustomPageWithoutHTML>;
    /**
     * List custom pages
     */
    list(identifier: string, options?: Core.RequestOptions): Core.PagePromise<ZeroTrustCustomPageWithoutHTMLsSinglePage, ZeroTrustCustomPageWithoutHTML>;
    /**
     * Delete a custom page
     */
    delete(identifier: string, uuid: string, options?: Core.RequestOptions): Core.APIPromise<CustomPageDeleteResponse>;
    /**
     * Fetches a custom page and also returns its HTML.
     */
    get(identifier: string, uuid: string, options?: Core.RequestOptions): Core.APIPromise<ZeroTrustCustomPage>;
}
export declare class ZeroTrustCustomPageWithoutHTMLsSinglePage extends SinglePage<ZeroTrustCustomPageWithoutHTML> {
}
export interface ZeroTrustCustomPage {
    /**
     * Custom page HTML.
     */
    custom_html: string;
    /**
     * Custom page name.
     */
    name: string;
    /**
     * Custom page type.
     */
    type: 'identity_denied' | 'forbidden';
    /**
     * Number of apps the custom page is assigned to.
     */
    app_count?: number;
    created_at?: string;
    /**
     * UUID
     */
    uid?: string;
    updated_at?: string;
}
export interface ZeroTrustCustomPageWithoutHTML {
    /**
     * Custom page name.
     */
    name: string;
    /**
     * Custom page type.
     */
    type: 'identity_denied' | 'forbidden';
    /**
     * Number of apps the custom page is assigned to.
     */
    app_count?: number;
    created_at?: string;
    /**
     * UUID
     */
    uid?: string;
    updated_at?: string;
}
export interface CustomPageDeleteResponse {
    /**
     * UUID
     */
    id?: string;
}
export interface CustomPageCreateParams {
    /**
     * Custom page HTML.
     */
    custom_html: string;
    /**
     * Custom page name.
     */
    name: string;
    /**
     * Custom page type.
     */
    type: 'identity_denied' | 'forbidden';
    /**
     * Number of apps the custom page is assigned to.
     */
    app_count?: number;
}
export interface CustomPageUpdateParams {
    /**
     * Custom page HTML.
     */
    custom_html: string;
    /**
     * Custom page name.
     */
    name: string;
    /**
     * Custom page type.
     */
    type: 'identity_denied' | 'forbidden';
    /**
     * Number of apps the custom page is assigned to.
     */
    app_count?: number;
}
export declare namespace CustomPages {
    export import ZeroTrustCustomPage = CustomPagesAPI.ZeroTrustCustomPage;
    export import ZeroTrustCustomPageWithoutHTML = CustomPagesAPI.ZeroTrustCustomPageWithoutHTML;
    export import CustomPageDeleteResponse = CustomPagesAPI.CustomPageDeleteResponse;
    export import ZeroTrustCustomPageWithoutHTMLsSinglePage = CustomPagesAPI.ZeroTrustCustomPageWithoutHTMLsSinglePage;
    export import CustomPageCreateParams = CustomPagesAPI.CustomPageCreateParams;
    export import CustomPageUpdateParams = CustomPagesAPI.CustomPageUpdateParams;
}
//# sourceMappingURL=custom-pages.d.ts.map