import * as Core from 'cloudflare/core';
import { APIResource } from 'cloudflare/resource';
import * as ActiveSessionsAPI from 'cloudflare/resources/zero-trust/access/users/active-sessions';
import { SinglePage } from 'cloudflare/pagination';
export declare class ActiveSessions extends APIResource {
    /**
     * Get active sessions for a single user.
     */
    list(identifier: string, id: string, options?: Core.RequestOptions): Core.PagePromise<ActiveSessionListResponsesSinglePage, ActiveSessionListResponse>;
    /**
     * Get an active session for a single user.
     */
    get(identifier: string, id: string, nonce: string, options?: Core.RequestOptions): Core.APIPromise<ActiveSessionGetResponse>;
}
export declare class ActiveSessionListResponsesSinglePage extends SinglePage<ActiveSessionListResponse> {
}
export interface ActiveSessionListResponse {
    expiration?: number;
    metadata?: ActiveSessionListResponse.Metadata;
    name?: string;
}
export declare namespace ActiveSessionListResponse {
    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;
    export import ActiveSessionListResponsesSinglePage = ActiveSessionsAPI.ActiveSessionListResponsesSinglePage;
}
//# sourceMappingURL=active-sessions.d.ts.map