export interface AccountConfig {
    name: string;
    appId: string;
    appSecret: string;
    userId?: string;
    environment?: 'development' | 'production' | 'test' | 'custom';
    baseUrl?: string;
    createdAt: string;
    updatedAt: string;
}
export interface AccountsStore {
    version: string;
    accounts: Record<string, AccountConfig>;
    defaultAccount?: string;
    metadata: {
        createdAt: string;
        updatedAt: string;
        lastBackup?: string;
        keySource?: 'environment' | 'generated';
    };
}
export declare const ENVIRONMENT_BASE_URLS: {
    readonly development: "https://api-dev.polyv.net";
    readonly production: "https://api.polyv.net";
    readonly test: "https://develop-3-api.polyv.net";
};
export type Environment = keyof typeof ENVIRONMENT_BASE_URLS | 'custom';
export declare const AccountConfigValidation: {
    readonly name: {
        readonly required: true;
        readonly pattern: RegExp;
        readonly maxLength: 50;
        readonly minLength: 1;
    };
    readonly appId: {
        readonly required: true;
        readonly pattern: RegExp;
        readonly minLength: 8;
        readonly maxLength: 32;
    };
    readonly appSecret: {
        readonly required: true;
        readonly minLength: 16;
        readonly maxLength: 128;
    };
    readonly environment: {
        readonly required: false;
        readonly validValues: readonly ["development", "production", "test", "custom"];
    };
    readonly baseUrl: {
        readonly required: false;
        readonly pattern: RegExp;
        readonly maxLength: 200;
    };
};
export interface AccountOperationResult {
    success: boolean;
    message: string;
    account?: AccountConfig;
}
export interface AccountListOptions {
    output?: 'table' | 'json';
    detailed?: boolean;
}
export interface AccountDisplayInfo {
    name: string;
    appId: string;
    userId?: string;
    environment?: 'development' | 'production' | 'test' | 'custom';
    baseUrl?: string;
    createdAt: string;
    updatedAt: string;
}
export interface EncryptedAccountConfig extends Omit<AccountConfig, 'appSecret'> {
    appSecret: string;
}
export interface EncryptionMetadata {
    algorithm: string;
    iv: string;
    authTag: string;
}
export interface StoredAccountConfig extends AccountConfig {
    encryptionMeta?: EncryptionMetadata;
}
export interface SecureEncryptedData {
    algorithm: 'aes-256-gcm';
    iv: string;
    authTag: string;
    encrypted: string;
}
export interface SecurityContext {
    encryptionEnabled: boolean;
    keySource: 'environment' | 'generated';
    configVersion: string;
    lastSecurityCheck: Date;
    permissionsValid: boolean;
}
export declare function getAccountBaseUrl(account: AccountConfig): string;
export declare function getEnvironmentLabel(account: AccountConfig): string;
//# sourceMappingURL=account.types.d.ts.map