import { Page } from '../API';
import { CRUDService, ICrudService } from '../core';
export declare class PageService extends CRUDService<Page> {
    protected hasOneModels: ICrudService<Page>['hasOneModels'];
    protected hasManyModels?: ICrudService<Page>['hasManyModels'];
    get create(): (input: Partial<Record<"menuButtons" | "forms" | "posts", import("../../..").ModelWithId[]> & Record<"organization", import("../../..").ModelWithId>> & Omit<import("../API").CreateOnePageInput, "organization" | "menuButtons" | "forms" | "posts">, options?: import("../core").MutationOptionsWithoutMutation<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").CreateOnePageMutation, import("../API").Exact<{
        input: import("../API").CreateOnePageInput;
    }>>>) => Promise<{
        __typename?: "Page";
        id: string;
        title?: string;
        description?: string;
        pageType?: import("../API").PageType;
        organizationID: string;
        created_at: any;
        updated_at: any;
        menuButtons?: {
            __typename?: "MenuButton";
            id: string;
            cta?: string;
            feedID?: string;
            portalID?: string;
            isPageRoot?: boolean;
        }[];
    }>;
    get useCreate(): (options?: import("../core").CacheUpdateOptions<import("../core").ServiceMutationHookOptions<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").CreateOnePageMutation, import("../API").Exact<{
        input: import("../API").CreateOnePageInput;
    }>>>>) => [(payload: import("../core").InputAndRelations<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").CreateOnePageMutation, import("../API").Exact<{
        input: import("../API").CreateOnePageInput;
    }>>, Page>) => Promise<{
        __typename?: "Page";
        id: string;
        title?: string;
        description?: string;
        pageType?: import("../API").PageType;
        organizationID: string;
        created_at: any;
        updated_at: any;
        menuButtons?: {
            __typename?: "MenuButton";
            id: string;
            cta?: string;
            feedID?: string;
            portalID?: string;
            isPageRoot?: boolean;
        }[];
    }>, import("@apollo/client").MutationResult<any>];
    get update(): (input: Partial<Record<"menuButtons" | "forms" | "posts", import("../../..").ModelWithId[]> & Record<"organization", import("../../..").ModelWithId>> & Omit<import("../API").UpdatePage, "organization" | "menuButtons" | "forms" | "posts"> & {
        id: string;
    }, options?: import("../core").MutationOptionsWithoutMutation<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").UpdateOnePageMutation, import("../API").Exact<{
        input: import("../API").UpdateOnePageInput;
    }>>>) => Promise<{
        __typename?: "Page";
        created_at: any;
        description?: string;
        id: string;
        organizationID: string;
        pageType?: import("../API").PageType;
        title?: string;
        updated_at: any;
        forms?: {
            __typename?: "Form";
            id: string;
            name: string;
            type: import("../API").FormType;
            visibility: import("../API").FormVisibility;
            inUse?: boolean;
            adminID?: string;
            inboxID: string;
        }[];
        menuButtons?: {
            __typename?: "MenuButton";
            id: string;
            cta?: string;
            color?: string;
            index?: number;
            portalID?: string;
            feedID?: string;
            isPageRoot?: boolean;
        }[];
        posts?: {
            __typename?: "Post";
            id: string;
            title: string;
            description?: string;
        }[];
    }>;
    get useUpdate(): (mainOptions?: import("../core").CacheUpdateOptions<import("../core").ServiceMutationHookOptions<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").UpdateOnePageMutation, import("../API").Exact<{
        input: import("../API").UpdateOnePageInput;
    }>>>>) => [({ id, ...input }: Partial<Record<"menuButtons" | "forms" | "posts", import("../../..").ModelWithId[]> & Record<"organization", import("../../..").ModelWithId>> & import("../API").UpdatePage & {
        id: string;
    }, options?: import("../core").CacheUpdateOptions<import("../core").ServiceMutationHookOptions<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").UpdateOnePageMutation, import("../API").Exact<{
        input: import("../API").UpdateOnePageInput;
    }>>>>) => Promise<any>, import("@apollo/client").MutationResult<any>];
    get delete(): (id: string, options?: import("../core").MutationOptionsWithoutMutation<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").DeleteOnePageMutation, import("../API").Exact<{
        input: import("../API").DeleteOnePageInput;
    }>>>) => Promise<{
        __typename?: "PageDeleteResponse";
        id?: string;
    }>;
    get list(): (input: import("../API").Exact<{
        filter: import("../API").PageFilter;
        paging?: import("../API").CursorPaging;
        sorting?: import("../API").PageSort | import("../API").PageSort[];
    }>, options?: import("../core").ServiceQueryOptions<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").PagesQuery, import("../API").Exact<{
        filter: import("../API").PageFilter;
        paging?: import("../API").CursorPaging;
        sorting?: import("../API").PageSort | import("../API").PageSort[];
    }>>>) => Promise<{
        __typename?: "PageConnection";
        edges: {
            __typename?: "PageEdge";
            cursor: any;
            node: {
                __typename?: "Page";
                created_at: any;
                description?: string;
                id: string;
                organizationID: string;
                pageType?: import("../API").PageType;
                title?: string;
                updated_at: any;
                forms?: {
                    __typename?: "Form";
                    id: string;
                    name: string;
                    type: import("../API").FormType;
                    visibility: import("../API").FormVisibility;
                    inUse?: boolean;
                    adminID?: string;
                    inboxID: string;
                }[];
                menuButtons?: {
                    __typename?: "MenuButton";
                    id: string;
                    cta?: string;
                    description?: string;
                    color?: string;
                    index?: number;
                    action?: string;
                    link?: string;
                    portalID?: string;
                    feedID?: string;
                    isPageRoot?: boolean;
                    buttonEmoji?: string;
                    feeds?: {
                        __typename?: "Feed";
                        id: string;
                        name: string;
                    }[];
                    forms?: {
                        __typename?: "Form";
                        id: string;
                        name: string;
                        instructionDescription?: string;
                        inbox: {
                            __typename?: "Inbox";
                            id: string;
                        };
                        formProperties?: {
                            __typename?: "FormProperty";
                            internalProperty?: string;
                            id: string;
                            label?: string;
                            autoAssignValue?: boolean;
                            formPropertyValues?: {
                                __typename?: "FormPropertyValue";
                                id: string;
                                BooleanValue?: boolean;
                                DateValue?: any;
                                NumberValue?: number;
                                TextValue?: string;
                                updated_at: any;
                                created_at: any;
                            }[];
                        }[];
                    }[];
                }[];
                posts?: {
                    __typename?: "Post";
                    id: string;
                    title: string;
                    description?: string;
                }[];
            };
        }[];
        pageInfo: {
            __typename?: "PageInfo";
            endCursor?: any;
            hasNextPage?: boolean;
            hasPreviousPage?: boolean;
            startCursor?: any;
        };
    }>;
    get useList(): (options: import("../core").CacheUpdateOptions<import("../core").ServiceQueryHookOptions<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").PagesQuery, import("../API").Exact<{
        filter: import("../API").PageFilter;
        paging?: import("../API").CursorPaging;
        sorting?: import("../API").PageSort | import("../API").PageSort[];
    }>>>>) => {
        isLoading: boolean;
        isRefetching: boolean;
        hasMore: any;
        refetching: boolean;
        client: import("@apollo/client").ApolloClient<any>;
        observable: import("@apollo/client").ObservableQuery<import("../API").PagesQuery, import("../API").Exact<{
            filter: import("../API").PageFilter;
            paging?: import("../API").CursorPaging;
            sorting?: import("../API").PageSort | import("../API").PageSort[];
        }>>;
        data: import("../API").PagesQuery;
        previousData?: import("../API").PagesQuery;
        error?: import("@apollo/client").ApolloError;
        loading: boolean;
        networkStatus: import("@apollo/client").NetworkStatus;
        called: boolean;
        variables: import("../API").Exact<{
            filter: import("../API").PageFilter;
            paging?: import("../API").CursorPaging;
            sorting?: import("../API").PageSort | import("../API").PageSort[];
        }>;
        startPolling: (pollInterval: number) => void;
        stopPolling: () => void;
        subscribeToMore: <TSubscriptionData = import("../API").PagesQuery, TSubscriptionVariables = import("../API").Exact<{
            filter: import("../API").PageFilter;
            paging?: import("../API").CursorPaging;
            sorting?: import("../API").PageSort | import("../API").PageSort[];
        }>>(options: import("@apollo/client").SubscribeToMoreOptions<import("../API").PagesQuery, TSubscriptionVariables, TSubscriptionData>) => () => void;
        updateQuery: <TVars = import("../API").Exact<{
            filter: import("../API").PageFilter;
            paging?: import("../API").CursorPaging;
            sorting?: import("../API").PageSort | import("../API").PageSort[];
        }>>(mapFn: (previousQueryResult: import("../API").PagesQuery, options: Pick<import("@apollo/client").WatchQueryOptions<TVars, import("../API").PagesQuery>, "variables">) => import("../API").PagesQuery) => void;
        refetch: (variables?: Partial<import("../API").Exact<{
            filter: import("../API").PageFilter;
            paging?: import("../API").CursorPaging;
            sorting?: import("../API").PageSort | import("../API").PageSort[];
        }>>) => Promise<import("@apollo/client").ApolloQueryResult<import("../API").PagesQuery>>;
        reobserve: (newOptions?: Partial<import("@apollo/client").WatchQueryOptions<import("../API").Exact<{
            filter: import("../API").PageFilter;
            paging?: import("../API").CursorPaging;
            sorting?: import("../API").PageSort | import("../API").PageSort[];
        }>, import("../API").PagesQuery>>, newNetworkStatus?: import("@apollo/client").NetworkStatus) => Promise<import("@apollo/client").ApolloQueryResult<import("../API").PagesQuery>>;
        fetchMore: <TFetchData = import("../API").PagesQuery, TFetchVars = import("../API").Exact<{
            filter: import("../API").PageFilter;
            paging?: import("../API").CursorPaging;
            sorting?: import("../API").PageSort | import("../API").PageSort[];
        }>>(fetchMoreOptions: import("@apollo/client").FetchMoreQueryOptions<TFetchVars, TFetchData> & {
            updateQuery?: (previousQueryResult: import("../API").PagesQuery, options: {
                fetchMoreResult: TFetchData;
                variables: TFetchVars;
            }) => import("../API").PagesQuery;
        }) => Promise<import("@apollo/client").ApolloQueryResult<TFetchData>>;
    };
    get get(): (id: string, options?: Omit<import("@apollo/client").QueryOptions<import("../API").Exact<{
        id: string;
    }>, import("../API").PageQuery>, "query">) => Promise<{
        __typename?: "Page";
        created_at: any;
        description?: string;
        id: string;
        organizationID: string;
        pageType?: import("../API").PageType;
        title?: string;
        updated_at: any;
        forms?: {
            __typename?: "Form";
            id: string;
            name: string;
            type: import("../API").FormType;
            visibility: import("../API").FormVisibility;
            inUse?: boolean;
            adminID?: string;
            inboxID: string;
        }[];
        menuButtons?: {
            __typename?: "MenuButton";
            id: string;
            cta?: string;
            description?: string;
            color?: string;
            link?: string;
            action?: string;
            index?: number;
            portalID?: string;
            feedID?: string;
            isPageRoot?: boolean;
            buttonEmoji?: string;
            forms?: {
                __typename?: "Form";
                id: string;
                name: string;
            }[];
            feeds?: {
                __typename?: "Feed";
                id: string;
                name: string;
            }[];
        }[];
        posts?: {
            __typename?: "Post";
            id: string;
            title: string;
            description?: string;
        }[];
    }>;
    get useGet(): (options: import("../core").ServiceQueryHookOptions<import("@graphql-typed-document-node/core").TypedDocumentNode<import("../API").PageQuery, import("../API").Exact<{
        id: string;
    }>>>) => {
        isLoading: boolean;
        isRefetching: boolean;
        hasMore: any;
        refetching: boolean;
        client: import("@apollo/client").ApolloClient<any>;
        observable: import("@apollo/client").ObservableQuery<import("../API").PageQuery, import("../API").Exact<{
            id: string;
        }>>;
        data: import("../API").PageQuery;
        previousData?: import("../API").PageQuery;
        error?: import("@apollo/client").ApolloError;
        loading: boolean;
        networkStatus: import("@apollo/client").NetworkStatus;
        called: boolean;
        variables: import("../API").Exact<{
            id: string;
        }>;
        startPolling: (pollInterval: number) => void;
        stopPolling: () => void;
        subscribeToMore: <TSubscriptionData = import("../API").PageQuery, TSubscriptionVariables = import("../API").Exact<{
            id: string;
        }>>(options: import("@apollo/client").SubscribeToMoreOptions<import("../API").PageQuery, TSubscriptionVariables, TSubscriptionData>) => () => void;
        updateQuery: <TVars = import("../API").Exact<{
            id: string;
        }>>(mapFn: (previousQueryResult: import("../API").PageQuery, options: Pick<import("@apollo/client").WatchQueryOptions<TVars, import("../API").PageQuery>, "variables">) => import("../API").PageQuery) => void;
        refetch: (variables?: Partial<import("../API").Exact<{
            id: string;
        }>>) => Promise<import("@apollo/client").ApolloQueryResult<import("../API").PageQuery>>;
        reobserve: (newOptions?: Partial<import("@apollo/client").WatchQueryOptions<import("../API").Exact<{
            id: string;
        }>, import("../API").PageQuery>>, newNetworkStatus?: import("@apollo/client").NetworkStatus) => Promise<import("@apollo/client").ApolloQueryResult<import("../API").PageQuery>>;
        fetchMore: <TFetchData = import("../API").PageQuery, TFetchVars = import("../API").Exact<{
            id: string;
        }>>(fetchMoreOptions: import("@apollo/client").FetchMoreQueryOptions<TFetchVars, TFetchData> & {
            updateQuery?: (previousQueryResult: import("../API").PageQuery, options: {
                fetchMoreResult: TFetchData;
                variables: TFetchVars;
            }) => import("../API").PageQuery;
        }) => Promise<import("@apollo/client").ApolloQueryResult<TFetchData>>;
    };
}
