export type TokenProvider = () => string | null | Promise<string | null>;
export interface SearchFeatureFlags {
    /** Enable/disable polygon area selection on map (default: true) */
    enableAreaSelection?: boolean;
    /** Enable/disable point + radius search on map (default: true) */
    enablePointSearch?: boolean;
    /** Enable/disable query helper menu (default: true) */
    enableQueryHelpers?: boolean;
    /** Enable/disable advanced search filters (default: false) */
    enableFilters?: boolean;
}
export interface SearchOptions {
    /** Default municipality key to pre-select */
    defaultMunicipality?: string;
    /** Default search categories (comma-separated: "address,cadastre,share,owner") */
    defaultCategories?: string;
    /** Default placeholder text for search input */
    placeholder?: string;
    /** Results per page (default: 50) */
    pageSize?: number;
    /** When true, Firma and Person (and cooperative) helpers are shown in the query helper menu. Set to false for anonymous users. (default: true) */
    isLoggedIn?: boolean;
}
export interface LibraryConfig {
    apiTimeout?: number;
    apiHeaders?: Record<string, string>;
    enableLogging?: boolean;
    environment?: "beta" | "dev" | "prod" | string;
    /** Static access token (format: "Bearer xxx" or just "xxx") */
    accessToken?: string;
    /** Function that returns the current access token - called on each request */
    tokenProvider?: TokenProvider;
    /** Search-specific configuration options */
    search?: SearchOptions;
    /** Feature flags for enabling/disabling search features */
    features?: SearchFeatureFlags;
}
declare class ConfigManager {
    private config;
    private onChangeCallbacks;
    init(config: LibraryConfig): void;
    get(): LibraryConfig;
    isInitialized(): boolean;
    onChange(callback: () => void): void;
}
export declare const configManager: ConfigManager;
export declare function initLibraryConfig(config: LibraryConfig): void;
export declare function getLibraryConfig(): LibraryConfig;
export declare function getApiBaseUrl(): string;
export declare function getEnvironment(): string | undefined;
export declare function isProduction(): boolean;
export declare function isDevelopment(): boolean;
export declare function isBeta(): boolean;
export declare function getPortalUrl(): string;
export declare function getHelpPageUrl(helpId: string): string;
export declare function getRealtyApiUrl(): string;
/**
 * Get feature flags with defaults
 */
export declare function getFeatureFlags(): Required<SearchFeatureFlags>;
/**
 * Get search options with defaults
 */
export declare function getSearchOptions(): SearchOptions;
export {};
