import { APIResource } from "../../../core/resource.js";
import { APIPromise } from "../../../core/api-promise.js";
import { RequestOptions } from "../../../internal/request-options.js";
export declare class BaseOverrideCodes extends APIResource {
    static readonly _key: readonly ['zeroTrust', 'devices', 'overrideCodes'];
    /**
     * Fetches a one-time use admin override code for a device. This relies on the
     * **Admin Override** setting being enabled in your device configuration. Not
     * supported when
     * [multi-user mode](https://developers.cloudflare.com/cloudflare-one/connections/connect-devices/warp/deployment/mdm-deployment/windows-multiuser/)
     * is enabled for the account. **Deprecated:** please use GET
     * /accounts/{account_id}/devices/registrations/{registration_id}/override_codes
     * instead.
     *
     * @deprecated
     */
    list(deviceID: string, params: OverrideCodeListParams, options?: RequestOptions): APIPromise<OverrideCodeListResponse | null>;
    /**
     * Fetches one-time use admin override codes for a registration. This relies on the
     * **Admin Override** setting being enabled in your device configuration.
     *
     * @example
     * ```ts
     * const overrideCode =
     *   await client.zeroTrust.devices.overrideCodes.get(
     *     'registration_id',
     *     { account_id: 'account_id' },
     *   );
     * ```
     */
    get(registrationID: string, params: OverrideCodeGetParams, options?: RequestOptions): APIPromise<OverrideCodeGetResponse>;
}
export declare class OverrideCodes extends BaseOverrideCodes {
}
export interface OverrideCodeListResponse {
    disable_for_time?: OverrideCodeListResponse.DisableForTime;
}
export declare namespace OverrideCodeListResponse {
    interface DisableForTime {
        /**
         * Override code that is valid for 1 hour.
         */
        '1'?: string;
        /**
         * Override code that is valid for 12 hour2.
         */
        '12'?: string;
        /**
         * Override code that is valid for 24 hour.2.
         */
        '24'?: string;
        /**
         * Override code that is valid for 3 hours.
         */
        '3'?: string;
        /**
         * Override code that is valid for 6 hours.
         */
        '6'?: string;
    }
}
export interface OverrideCodeGetResponse {
    disable_for_time?: {
        [key: string]: string;
    };
}
export interface OverrideCodeListParams {
    account_id: string;
}
export interface OverrideCodeGetParams {
    account_id: string;
}
export declare namespace OverrideCodes {
    export { type OverrideCodeListResponse as OverrideCodeListResponse, type OverrideCodeGetResponse as OverrideCodeGetResponse, type OverrideCodeListParams as OverrideCodeListParams, type OverrideCodeGetParams as OverrideCodeGetParams, };
}
//# sourceMappingURL=override-codes.d.ts.map