import type { ShapeDefinition } from './definitions'; export type ShapePaginated = Record; export type ShapePaginatedContainer = Record; export interface PaginatedContainerShape { strategy: Strategy; propertyName: string; shape: ShapeDefinition; } export declare enum Strategy { Cursor = "Cursor", SyntheticCursor = "SyntheticCursor" } export declare enum PaginatedResourceParamType { QueryParameter = "queryParameters", Body = "body" } /** Pagination Parameters **/ export declare enum CursorPaginationParameter { Token = "token", PageSize = "pageSize" } interface BasePaginationParams { parameterType: PaginatedResourceParamType.QueryParameter | PaginatedResourceParamType.Body; pageSize: string; defaultSize?: number; } export interface CursorPaginationParams extends BasePaginationParams { strategy: Strategy.Cursor | Strategy.SyntheticCursor; token: string; } export type PaginationParams = CursorPaginationParams; /** Paginated Type **/ export declare enum PaginatedTypeProperty { Items = "items", Strategy = "strategy" } export declare enum CursorPaginatedTypeProperty { Token = "token", NextToken = "nextToken", PreviousToken = "previousToken", PageSize = "pageSize", Count = "count" } interface BasedPaginatedType { items: string; } export interface CursorPaginatedType extends BasedPaginatedType { strategy: Strategy.Cursor | Strategy.SyntheticCursor; metadata: { token: string; nextToken: string; previousToken?: string; pageSize?: string; count?: string; }; } export type PaginatedType = CursorPaginatedType; export {};