import type { EmptyObject } from '../../../../framework-types/BaseTypes';
import type { ContextHaving } from '../../../../framework-types/execution-context/Types';
import type { Constants, ContentType, ResourceType } from '../../core/Constants';
import { CoreExportNames } from '../../core/Types';
import type { ContextWithState } from '../../Types';
export type SourceConfigAtom = ReturnType<typeof createSourceConfigAtom>;
type ExtendedContext = ContextHaving<{
    [CoreExportNames.Constants]: Constants;
}, EmptyObject, ContextWithState>;
export interface Resource {
    url: string;
    type: ResourceType | string;
    metadata?: Record<string, unknown>;
}
export interface SourceConfig {
    resources: Resource[];
    contentType?: ContentType | string;
}
export declare const createSourceConfigAtom: (context: ExtendedContext, config: SourceConfig) => import("../../core/state/Types").StateAtom<{
    contentType: string;
    resources: import("../../core/state/ArrayStateAtom").ArrayAtom<Resource>;
}, {}>;
export {};
