export declare type PkSchemaFields = Exclude[]; export declare type PkSchemaEdges = (keyof EntityT['__edges__'])[]; export declare type PkSchema, EdgesT extends PkSchemaEdges> = { fields: FieldsT; edges: EdgesT; separator: string; subSeparator: string; }; export declare type DestructedPk, PkSchemaEdges>> = { fields: { [field in PkSchemaT['fields'][number]]: string; }; edges: { [edge in PkSchemaT['edges'][number]]: EntityT['__edges__'][edge]; }; }; export declare type SubRequest = { reducerPath: string[]; requestId: string; }; export declare type RequestMetadata = Record; export declare type Request = { id: string; createdAt: { unixMilliseconds: number; formattedString?: string; }; completedAt?: { unixMilliseconds: number; formattedString?: string; }; isPending: boolean; metadata: RequestMetadataT; isOk?: boolean; entityPks?: string[]; statusCode?: number; error?: string; subRequests?: SubRequest[]; }; export declare type Entity = Record & { __edges__?: Record; }; export declare type PartialEntity = Partial> & { __edges__?: Partial; }; export declare enum EdgeSide { slave = 0, master = 1 } export declare type ReducerEdgeTypeMetadata = { nodeReducerPath: readonly string[]; edgeReducerPath: readonly string[] | null; }; export declare type ReducerEdge = { nodeReducerPath: NodeReducerPathT; edgeReducerPath?: EdgeReducerPathT; edgeSide?: EdgeSide; }; export declare type ReducerEdgesTypeMetadata = Record; export declare type ReducerEdges> = { [edgeName in keyof EntityT['__edges__']]: ReducerEdge; }; export declare type ReducerData = Record; export declare type ReducerPartialData = Record>; export declare type ReducerMetadata = Record; export declare type ReducerConfig = { successRequestsCache: number | null; failRequestsCache: number | null; requestsPrettyTimestamps?: { format: string; timezone: string; }; }; export declare type Reducer = { requests: Record>; metadata: ReducerMetadataT; data: ReducerData; config: ReducerConfig; }; export declare type ReducerGroup = { [reducerOrGroup in ReducerPathT[number]]?: Reducer | ReducerGroup; };