import { type JsonValue, type Provider, type ResolutionDetails } from "@openfeature/web-sdk";
/**
 * QueryParamProvider reads feature flags from URL query parameters.
 *
 * Usage:
 *   const params = new URLSearchParams(window.location.search);
 *   const provider = new QueryParamProvider(params);
 *   await OpenFeature.setProviderAndWait(provider);
 *
 * Query parameter format:
 *   ?FEATURE_DUAL_ACTION_CREATE_ENABLED=true&FEATURE_FOO=false
 */
export declare class QueryParamProvider implements Provider {
    readonly runsOn: "client";
    readonly metadata: {
        readonly name: "QueryParamProvider";
    };
    private flags;
    constructor(searchParams: URLSearchParams);
    resolveBooleanEvaluation(flagKey: string, defaultValue: boolean): ResolutionDetails<boolean>;
    resolveStringEvaluation(flagKey: string, defaultValue: string): ResolutionDetails<string>;
    resolveNumberEvaluation(flagKey: string, defaultValue: number): ResolutionDetails<number>;
    resolveObjectEvaluation<T extends JsonValue>(flagKey: string, defaultValue: T): ResolutionDetails<T>;
}
/**
 * Initialize OpenFeature with the QueryParamProvider.
 * Reads feature flags from query parameters.
 */
export declare function initFeatureFlags(searchParams?: URLSearchParams): Promise<void>;
/**
 * Helper function to check if dual action create is enabled via query param.
 */
export declare function isDualActionCreateEnabled(): Promise<boolean>;
//# sourceMappingURL=feature-flags.d.ts.map