import * as Core from 'cloudflare/core';
import { APIResource } from 'cloudflare/resource';
import * as ActiveSessionsAPI from 'cloudflare/resources/zero-trust/access/users/active-sessions';
export declare class ActiveSessions extends APIResource {
    /**
     * Get active sessions for a single user.
     */
    list(identifier: string, id: string, options?: Core.RequestOptions): Core.APIPromise<ActiveSessionListResponse | null>;
    /**
     * Get an active session for a single user.
     */
    get(identifier: string, id: string, nonce: string, options?: Core.RequestOptions): Core.APIPromise<ActiveSessionGetResponse>;
}
export type ActiveSessionListResponse = Array<ActiveSessionListResponse.ActiveSessionListResponseItem>;
export declare namespace ActiveSessionListResponse {
    interface ActiveSessionListResponseItem {
        expiration?: number;
        metadata?: ActiveSessionListResponseItem.Metadata;
        name?: string;
    }
    namespace ActiveSessionListResponseItem {
        interface Metadata {
            apps?: Record<string, Metadata.Apps>;
            expires?: number;
            iat?: number;
            nonce?: string;
            ttl?: number;
        }
        namespace Metadata {
            interface Apps {
                hostname?: string;
                name?: string;
                type?: string;
                uid?: string;
            }
        }
    }
}
export interface ActiveSessionGetResponse {
    account_id?: string;
    auth_status?: string;
    common_name?: string;
    device_id?: string;
    device_sessions?: Record<string, ActiveSessionGetResponse.DeviceSessions>;
    devicePosture?: Record<string, ActiveSessionGetResponse.DevicePosture>;
    email?: string;
    geo?: ActiveSessionGetResponse.Geo;
    iat?: number;
    idp?: ActiveSessionGetResponse.Idp;
    ip?: string;
    is_gateway?: boolean;
    is_warp?: boolean;
    isActive?: boolean;
    mtls_auth?: ActiveSessionGetResponse.MTLSAuth;
    service_token_id?: string;
    service_token_status?: boolean;
    user_uuid?: string;
    version?: number;
}
export declare namespace ActiveSessionGetResponse {
    interface DeviceSessions {
        last_authenticated?: number;
    }
    interface DevicePosture {
        id?: string;
        check?: DevicePosture.Check;
        data?: unknown;
        description?: string;
        error?: string;
        rule_name?: string;
        success?: boolean;
        timestamp?: string;
        type?: string;
    }
    namespace DevicePosture {
        interface Check {
            exists?: boolean;
            path?: string;
        }
    }
    interface Geo {
        country?: string;
    }
    interface Idp {
        id?: string;
        type?: string;
    }
    interface MTLSAuth {
        auth_status?: string;
        cert_issuer_dn?: string;
        cert_issuer_ski?: string;
        cert_presented?: boolean;
        cert_serial?: string;
    }
}
export declare namespace ActiveSessions {
    export import ActiveSessionListResponse = ActiveSessionsAPI.ActiveSessionListResponse;
    export import ActiveSessionGetResponse = ActiveSessionsAPI.ActiveSessionGetResponse;
}
//# sourceMappingURL=active-sessions.d.ts.map