import { IApihawkSession } from '@apihawk/connector';
export declare type IBilliaOAuthSession = IApihawkSession;
export interface IBilliaUserSession extends IApihawkSession {
    details: IBilliaUserSessionDetails;
}
export interface IBilliaUserSessionDetails {
    username: string;
    user_id: string;
    first_name: string;
    last_name: string;
    status: string;
    gravatar: string;
    role: string;
    permissions: string[];
    tfa?: {
        enabled: boolean;
        username?: string;
    };
    support_pin: string;
    impersonated?: boolean;
    has_original_user?: boolean;
    show_hidden_categories?: boolean;
}
export interface IWhoAmIResponse {
    authentication: {
        access_token_id: string;
        access_token: string;
        client_id: string;
        user_id: string;
        expires: number;
        scope?: any;
        op_id?: any;
        creator: string;
    };
    user: {
        id: string;
        trash: string;
        status: string;
        username: string;
        reseller: string;
        first_name: string;
        last_name: string;
        developer: string;
        role: string;
        date_registered: string;
        onhold: string;
        enable_special_payments: string;
        activation_token: string;
        at_expire: string;
        reset_password_token?: any;
        rpt_expire?: any;
        email_inactive_order_approved: string;
        old_billing_id?: any;
        account_manager_id: string;
        encryption_key: string;
        support_pin: string;
    };
    roles: string[];
    permissions: string[];
}
export interface IBilliaOneTimeLoginSession {
    access_token: string;
    refresh_token?: string;
    client_id: string;
    user_id: string;
    op_id: number | null;
    expires: string;
    token_type: string;
    expires_in: number;
}
//# sourceMappingURL=billia-sdk-authentication.types.d.ts.map